import type { IEventController, DB, JacksonOptionWithRequiredLogger } from '../typings';
import { DirectoryConfig } from './scim/DirectoryConfig';
import { Users } from './scim/Users';
import { Groups } from './scim/Groups';
import { RequestHandler } from './request';
import { WebhookEventsLogger } from './scim/WebhookEventsLogger';
import { EventProcessor } from './batch-events/queue';
declare const directorySync: (params: {
    db: DB;
    opts: JacksonOptionWithRequiredLogger;
    eventController: IEventController;
}) => Promise<{
    users: Users;
    groups: Groups;
    directories: DirectoryConfig;
    webhookLogs: WebhookEventsLogger;
    requests: RequestHandler;
    providers: () => {
        [K: string]: string;
    };
    events: {
        batch: EventProcessor;
    };
    google: import("./non-scim/google/oauth").GoogleAuth;
    sync: () => Promise<void>;
}>;
export default directorySync;
