import type { ChannelId, ChannelMessageActionName, ChannelThreadingToolContext } from "../../channels/plugins/types.js"; import type { BotConfig } from "../../config/config.js"; import { readBooleanParam as readBooleanParamShared } from "../../plugin-sdk/boolean-param.js"; export declare const readBooleanParam: typeof readBooleanParamShared; export declare function resolveSlackAutoThreadId(params: { to: string; toolContext?: ChannelThreadingToolContext; }): string | undefined; /** * Auto-inject Telegram forum topic thread ID when the message tool targets * the same chat the session originated from. Mirrors the Slack auto-threading * pattern so media, buttons, and other tool-sent messages land in the correct * topic instead of the General Topic. * * Unlike Slack, we do not gate on `replyToMode` here: Telegram forum topics * are persistent sub-channels (not ephemeral reply threads), so auto-injection * should always apply when the target chat matches. */ export declare function resolveTelegramAutoThreadId(params: { to: string; toolContext?: ChannelThreadingToolContext; }): string | undefined; export type AttachmentMediaPolicy = { mode: "sandbox"; sandboxRoot: string; } | { mode: "host"; localRoots?: readonly string[]; }; export declare function resolveAttachmentMediaPolicy(params: { sandboxRoot?: string; mediaLocalRoots?: readonly string[]; }): AttachmentMediaPolicy; export declare function normalizeSandboxMediaParams(params: { args: Record; mediaPolicy: AttachmentMediaPolicy; }): Promise; export declare function normalizeSandboxMediaList(params: { values: string[]; sandboxRoot?: string; }): Promise; export declare function hydrateAttachmentParamsForAction(params: { cfg: BotConfig; channel: ChannelId; accountId?: string | null; args: Record; action: ChannelMessageActionName; dryRun?: boolean; mediaPolicy: AttachmentMediaPolicy; }): Promise; export declare function parseButtonsParam(params: Record): void; export declare function parseCardParam(params: Record): void; export declare function parseComponentsParam(params: Record): void;