import type { Directory, IGroups, Group, IRequestHandler, DirectorySyncRequest, EventCallback, IDirectoryProvider } from '../../typings'; interface SyncGroupsParams { groupController: IGroups; provider: IDirectoryProvider; requestHandler: IRequestHandler; callback: EventCallback; directory: Directory; } type HandleRequestParams = Pick; export declare class SyncGroups { private groupController; private provider; private requestHandler; private callback; private directory; constructor({ directory, groupController, callback, requestHandler, provider }: SyncGroupsParams); sync(): Promise; getAllExistingGroups(): Promise; createGroup(group: Group): Promise; updateGroup(group: Group): Promise; deleteGroups(groups: Group[]): Promise; handleRequest(payload: HandleRequestParams): Promise; } export {};