import type { ConfirmationRow } from './ConfirmationStore.js';
export interface NotificationChannel {
    readonly name: string;
    send(confirmation: ConfirmationRow, message: string): Promise<boolean>;
}
export interface NotificationResult {
    success: boolean;
    channel: string | null;
    error?: string;
}
export declare class NotificationDispatcher {
    private readonly channels;
    private readonly dedupeMap;
    constructor(channels: NotificationChannel[]);
    notify(confirmation: ConfirmationRow): Promise<NotificationResult>;
    formatMessage(confirmation: ConfirmationRow): string;
    getChannelCount(): number;
    private sendWithTimeout;
    private isSpam;
    private trackSend;
    private parseFactors;
    private calculateExpiresIn;
}
//# sourceMappingURL=NotificationDispatcher.d.ts.map