import type { TSchema } from "typebox"; import type { KlawConfig } from "../../config/types.klaw.js"; import type { ChannelMessageCapability } from "./message-capabilities.js"; import { type ChannelMessageToolDiscoveryAdapter } from "./message-tool-api.js"; import type { ChannelMessageActionDiscoveryContext, ChannelMessageActionName, ChannelMessageToolSchemaContribution } from "./types.public.js"; export type ChannelMessageActionDiscoveryInput = { cfg?: KlawConfig; channel?: string | null; currentChannelProvider?: string | null; currentChannelId?: string | null; currentThreadTs?: string | null; currentMessageId?: string | number | null; accountId?: string | null; sessionKey?: string | null; sessionId?: string | null; agentId?: string | null; requesterSenderId?: string | null; senderIsOwner?: boolean; }; type ChannelMessageActionDiscoveryParams = ChannelMessageActionDiscoveryInput & { cfg: KlawConfig; }; type ChannelMessageToolMediaSourceParamKeyInput = ChannelMessageActionDiscoveryParams & { action?: ChannelMessageActionName; }; export declare function resolveMessageActionDiscoveryChannelId(raw?: string | null): string | undefined; export declare function createMessageActionDiscoveryContext(params: ChannelMessageActionDiscoveryInput): ChannelMessageActionDiscoveryContext; type ResolvedChannelMessageActionDiscovery = { actions: ChannelMessageActionName[]; capabilities: readonly ChannelMessageCapability[]; schemaContributions: ChannelMessageToolSchemaContribution[]; mediaSourceParams: readonly string[]; }; export declare function resolveCurrentChannelMessageToolDiscoveryAdapter(channel?: string | null): { pluginId: string; actions: ChannelMessageToolDiscoveryAdapter; } | null; export declare function resolveMessageActionDiscoveryForPlugin(params: { pluginId: string; actions?: ChannelMessageToolDiscoveryAdapter; context: ChannelMessageActionDiscoveryContext; action?: ChannelMessageActionName; includeActions?: boolean; includeCapabilities?: boolean; includeSchema?: boolean; }): ResolvedChannelMessageActionDiscovery; export declare function listChannelMessageActions(cfg: KlawConfig): ChannelMessageActionName[]; export declare function listCrossChannelSchemaSupportedMessageActions(params: ChannelMessageActionDiscoveryParams & { channel?: string; }): ChannelMessageActionName[]; export declare function listChannelMessageCapabilities(cfg: KlawConfig): ChannelMessageCapability[]; export declare function listChannelMessageCapabilitiesForChannel(params: ChannelMessageActionDiscoveryParams): ChannelMessageCapability[]; export declare function resolveChannelMessageToolSchemaProperties(params: ChannelMessageActionDiscoveryParams): Record; export declare function resolveChannelMessageToolMediaSourceParamKeys(params: ChannelMessageToolMediaSourceParamKeyInput): string[]; export declare function channelSupportsMessageCapability(cfg: KlawConfig, capability: ChannelMessageCapability): boolean; export declare function channelSupportsMessageCapabilityForChannel(params: ChannelMessageActionDiscoveryParams, capability: ChannelMessageCapability): boolean; export declare const testing: { resetLoggedMessageActionErrors(): void; }; export { testing as __testing };