export interface WhatsAppInboundMessage {
    chatId: string;
    text: string;
    messageId?: string;
    isSelfChat?: boolean;
}
export interface WhatsAppTransport {
    connect(): Promise<void>;
    close(): Promise<void>;
    isSelfChat(chatId: string): boolean;
    sendText(chatId: string, text: string): Promise<void>;
    onMessage(listener: (message: WhatsAppInboundMessage) => void | Promise<void>): () => void;
}
export interface WhatsAppTransportFactoryOptions {
    authDir: string;
    configFilePath?: string;
    logFilePath?: string;
    onQr?: (qr: string) => void | Promise<void>;
    onInfo?: (message: string) => void;
}
export type WhatsAppTransportFactory = (options: WhatsAppTransportFactoryOptions) => Promise<WhatsAppTransport>;
export type WhatsAppControllerStateEvent = {
    type: 'qr_rendered';
    qrText: string;
} | {
    type: 'paired_chat_updated';
    chatId: string | null;
} | {
    type: 'healthy';
} | {
    type: 'issue';
    message: string;
};
//# sourceMappingURL=types.d.ts.map