import type { WhatsAppTransport, WhatsAppTransportFactory } from './types.js';
interface BaileysSocketLike {
    ev: {
        on(event: string, listener: (...args: any[]) => void): void;
        off?(event: string, listener: (...args: any[]) => void): void;
    };
    sendMessage(chatId: string, content: {
        text: string;
    }): Promise<{
        key?: {
            id?: string;
        };
    }>;
    ws?: {
        close?: () => void;
    };
}
interface BaileysAuthState {
    creds: {
        me?: {
            id?: string;
            lid?: string;
        };
    };
    keys: unknown;
}
interface BaileysModule {
    useMultiFileAuthState(authDir: string): Promise<{
        state: BaileysAuthState;
        saveCreds: () => Promise<void>;
    }>;
    fetchLatestBaileysVersion(): Promise<{
        version: unknown;
    }>;
    makeWASocket(config: Record<string, unknown>): BaileysSocketLike;
}
export declare function normalizeBaileysImportError(error: unknown): Error;
export declare function loadWhatsAppTransportFactory(modulePath: string): Promise<WhatsAppTransportFactory>;
export declare function createBaileysTransportWithModule(baileys: BaileysModule, options: {
    authDir: string;
    configFilePath?: string;
    logFilePath?: string;
    onQr?: (qr: string) => void | Promise<void>;
    onInfo?: (message: string) => void;
}): Promise<WhatsAppTransport>;
declare function createBaileysTransport(options: {
    authDir: string;
    configFilePath?: string;
    onQr?: (qr: string) => void | Promise<void>;
    onInfo?: (message: string) => void;
}): Promise<WhatsAppTransport>;
export declare const createDefaultWhatsAppTransport: typeof createBaileysTransport;
export {};
//# sourceMappingURL=transport.d.ts.map