import type { IDirectoryConfig, IUsers, IGroups, IRequestHandler, EventCallback, CronLock, JacksonOptionWithRequiredLogger } from '../../typings';
interface SyncParams {
    userController: IUsers;
    groupController: IGroups;
    opts: JacksonOptionWithRequiredLogger;
    directories: IDirectoryConfig;
    requestHandler: IRequestHandler;
    eventCallback: EventCallback;
    eventLock: CronLock;
}
export declare class SyncProviders {
    private userController;
    private groupController;
    private directories;
    private requestHandler;
    private opts;
    private cronInterval;
    private eventCallback;
    private eventLock;
    constructor({ userController, groupController, opts, directories, requestHandler, eventCallback, eventLock, }: SyncParams);
    startSync(): Promise<void>;
    private scheduleSync;
}
export {};
