import type { MessengerAdapter, MessageContext } from '../../../core/types.js';
export declare class DiscordAdapter implements MessengerAdapter {
    readonly name = "discord";
    private client;
    private config;
    private messageHandler?;
    private typingIntervals;
    /** L7: companion AbortController per typing thread. Lets the periodic
     *  refresh callback bail BEFORE invoking sendTyping when stop() has
     *  fired, instead of racing against client.destroy(). */
    private typingAbortControllers;
    start(): Promise<void>;
    stop(): Promise<void>;
    onMessage(handler: (ctx: MessageContext) => Promise<void>): void;
    sendMessage(threadId: string, text: string): Promise<void>;
    sendTyping(threadId: string, isTyping: boolean): Promise<void>;
    private fetchSendableChannel;
    private handleDiscordMessage;
}
export declare const discordAdapter: DiscordAdapter;
//# sourceMappingURL=discord-adapter.d.ts.map