import type { ChannelId, ChannelMessageActionName } from "../../channels/plugins/types.js"; import type { OpenClawConfig } from "../../config/config.js"; import { type OutboundMediaAccess, type OutboundMediaReadFile } from "../../media/load-options.js"; import { readBooleanParam as readBooleanParamShared } from "../../plugin-sdk/boolean-param.js"; export declare const readBooleanParam: typeof readBooleanParamShared; export type AttachmentMediaPolicy = { mode: "sandbox"; sandboxRoot: string; } | { mode: "host"; mediaAccess?: OutboundMediaAccess; }; export declare function resolveAttachmentMediaPolicy(params: { sandboxRoot?: string; mediaAccess?: OutboundMediaAccess; mediaLocalRoots?: readonly string[]; mediaReadFile?: OutboundMediaReadFile; }): 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: OpenClawConfig; 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; export declare function parseInteractiveParam(params: Record): void;