import type { HistoryEntry } from "../../auto-reply/reply/history.js";
import type { ReplyToMode } from "../../config/config.js";
import type { RuntimeEnv } from "../../runtime.js";
import type { DiscordGuildEntryResolved } from "./allow-list.js";
import type { DiscordMessageHandler } from "./listeners.js";
type LoadedConfig = ReturnType<typeof import("../../config/config.js").loadConfig>;
type DiscordConfig = NonNullable<import("../../config/config.js").SKYKOIConfig["channels"]>["discord"];
export declare function createDiscordMessageHandler(params: {
    cfg: LoadedConfig;
    discordConfig: DiscordConfig;
    accountId: string;
    token: string;
    runtime: RuntimeEnv;
    botUserId?: string;
    guildHistories: Map<string, HistoryEntry[]>;
    historyLimit: number;
    mediaMaxBytes: number;
    textLimit: number;
    replyToMode: ReplyToMode;
    dmEnabled: boolean;
    groupDmEnabled: boolean;
    groupDmChannels?: Array<string | number>;
    allowFrom?: Array<string | number>;
    guildEntries?: Record<string, DiscordGuildEntryResolved>;
}): DiscordMessageHandler;
export {};
