import type { Directory, SAMLSSORecord, EventType, SSOConnectionEventType, Webhook, EventPayloadSchema, OIDCSSORecord, JacksonOptionWithRequiredLogger } from '../typings';
export default class Event {
    private webhook;
    private dsync;
    private logger;
    constructor({ opts }: {
        opts: JacksonOptionWithRequiredLogger;
    });
    notify<T extends EventType>(event: T, data: T extends SSOConnectionEventType ? SAMLSSORecord | OIDCSSORecord : Directory): Promise<import("axios").AxiosResponse<any, any> | undefined>;
    private constructPayload;
    sendWebhookEvent(webhook: Webhook | undefined, payload: EventPayloadSchema): Promise<import("axios").AxiosResponse<any, any> | undefined>;
}
