import type { FinalizedMsgContext } from "../../../auto-reply/templating.js";
import type { ResolvedKoiRoute } from "../../../routing/resolve-route.js";
import type { ResolvedSlackAccount } from "../../accounts.js";
import type { SlackMessageEvent } from "../../types.js";
import type { SlackChannelConfigResolved } from "../channel-config.js";
import type { SlackMonitorContext } from "../context.js";
export type PreparedSlackMessage = {
    ctx: SlackMonitorContext;
    account: ResolvedSlackAccount;
    message: SlackMessageEvent;
    route: ResolvedKoiRoute;
    channelConfig: SlackChannelConfigResolved | null;
    replyTarget: string;
    ctxPayload: FinalizedMsgContext;
    isDirectMessage: boolean;
    isRoomish: boolean;
    historyKey: string;
    preview: string;
    ackReactionMessageTs?: string;
    ackReactionValue: string;
    ackReactionPromise: Promise<boolean> | null;
};
