import type { ChannelId, ChannelMessageActionName, ChannelThreadingToolContext } from "../../channels/plugins/types.public.js"; import type { KlawConfig } from "../../config/types.klaw.js"; import type { MessageToolsConfig } from "../../config/types.tools.js"; import type { MessagePresentation } from "../../interactive/payload.js"; export type CrossContextPresentationBuilder = (message: string) => MessagePresentation; export type CrossContextDecoration = { prefix: string; suffix: string; presentationBuilder?: CrossContextPresentationBuilder; }; export declare function resolveEffectiveMessageToolsConfig(params: { cfg: KlawConfig; agentId?: string | null; }): MessageToolsConfig | undefined; export declare function resolveAllowedMessageActions(params: { cfg: KlawConfig; agentId?: string | null; }): string[] | undefined; export declare function enforceMessageActionAllowlist(params: { cfg: KlawConfig; agentId?: string | null; action: ChannelMessageActionName; }): void; export declare function enforceCrossContextPolicy(params: { channel: ChannelId; action: ChannelMessageActionName; args: Record; toolContext?: ChannelThreadingToolContext; cfg: KlawConfig; agentId?: string | null; }): void; export declare function buildCrossContextDecoration(params: { cfg: KlawConfig; channel: ChannelId; target: string; toolContext?: ChannelThreadingToolContext; accountId?: string | null; agentId?: string | null; }): Promise; export declare function shouldApplyCrossContextMarker(action: ChannelMessageActionName): boolean; export declare function applyCrossContextDecoration(params: { message: string; decoration: CrossContextDecoration; preferPresentation: boolean; }): { message: string; presentation?: MessagePresentation; usedPresentation: boolean; };