import { SyncType } from '../../models/Sync.js';
import type { NangoConnection, RecentlyCreatedConnection } from '../../models/Connection.js';
import type { 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(environment_id: number, providerConfigKey: string, connectionIds: string[], provider: string, payload: Record<string, any> | null, webhookOriginalHeaders: Record<string, string>, logContextGetter: LogContextGetter): Promise<void>;
    forwardHandler(environment_id: number, providerConfigKey: string, connectionId: string, provider: string, payload: Record<string, any> | null, webhookOriginalHeaders: Record<string, string>, logContextGetter: LogContextGetter): Promise<void>;
}
declare const _default: WebhookService;
export default _default;
