import type { MessageChannel } from '../engine/types';
export interface ProviderResult {
    success: boolean;
    providerMessageId?: string;
    status: string;
    errorCode?: string;
    errorMessage?: string;
    rawResponse?: unknown;
    retryable: boolean;
}
export interface MessageProvider {
    channel: MessageChannel;
    send(input: {
        to: string;
        subject?: string;
        body: string;
        meta?: Record<string, unknown>;
        dryRun?: boolean;
    }): Promise<ProviderResult>;
}
