import { SyncType } from '../../models/Sync.js';
import type { NangoConnection, RecentlyCreatedConnection } from '../../models/Connection.js';
import type { Account, Config, Environment, SyncResult } from '../../models/index.js';
import type { LogContext, LogContextGetter } from '@nangohq/logs';
declare class WebhookService {
    private retry;
    private getSignatureHeader;
    private filterHeaders;
    shouldSendWebhook(environment_id: number, options?: {
        auth?: boolean;
        forward?: boolean;
    }): Promise<{
        send: boolean;
        environmentInfo: Environment | null;
    }>;
    sendSyncUpdate(nangoConnection: NangoConnection, syncName: string, model: string, responseResults: SyncResult, syncType: SyncType, now: Date | undefined, activityLogId: number, logCtx: LogContext, environment_id: number): Promise<void>;
    sendAuthUpdate(connection: RecentlyCreatedConnection, provider: string, success: boolean, activityLogId: number | null, logCtx?: LogContext | null): Promise<void>;
    forward({ integration, account, connectionIds, payload, webhookOriginalHeaders, logContextGetter }: {
        integration: Config;
        account: Account;
        connectionIds: string[];
        payload: Record<string, any> | null;
        webhookOriginalHeaders: Record<string, string>;
        logContextGetter: LogContextGetter;
    }): Promise<void>;
    forwardHandler({ integration, account, connectionId, payload, webhookOriginalHeaders, logContextGetter }: {
        integration: Config;
        account: Account;
        connectionId: string;
        payload: Record<string, any> | null;
        webhookOriginalHeaders: Record<string, string>;
        logContextGetter: LogContextGetter;
    }): Promise<void>;
}
declare const _default: WebhookService;
export default _default;
