import type { ChannelAdapter, IncomingMessage, OutgoingMessage } from "./types.js";
interface DiscordOptions {
    token: string;
    /** Optional allow-list of Discord channel IDs. */
    allowedChannelIds?: string[];
    /** Optional allow-list of Discord guild (server) IDs. */
    allowedGuildIds?: string[];
    /** Allow DMs (default true). */
    allowDms?: boolean;
}
/**
 * Discord adapter — uses the optional `discord.js` peer dependency. Install with:
 *   npm install discord.js
 *
 * Required bot intents: GUILDS, GUILD_MESSAGES, MESSAGE_CONTENT, DIRECT_MESSAGES.
 * Privileged intent "MESSAGE CONTENT" must be enabled in the Discord Developer Portal.
 */
export declare class DiscordChannel implements ChannelAdapter {
    readonly name = "discord";
    private opts;
    private client?;
    constructor(opts: DiscordOptions);
    start(handler: (msg: IncomingMessage) => Promise<void>): Promise<void>;
    stop(): Promise<void>;
    send(msg: OutgoingMessage): Promise<void>;
}
export {};
//# sourceMappingURL=discord.d.ts.map