import type { SourceReplyDeliveryMode } from "../../auto-reply/get-reply-options.types.js"; import type { InboundEventKind } from "../../channels/inbound-event/kind.js"; import { resolveCommandSecretRefsViaGateway } from "../../cli/command-secret-gateway.js"; import { getScopedChannelsCommandSecretTargets } from "../../cli/command-secret-targets.js"; import type { KlawConfig } from "../../config/types.klaw.js"; import { runMessageAction } from "../../infra/outbound/message-action-runner.js"; import type { AnyAgentTool } from "./common.js"; type MessageToolOptions = { agentAccountId?: string; agentSessionKey?: string; sessionId?: string; agentId?: string; config?: KlawConfig; getRuntimeConfig?: () => KlawConfig; getScopedChannelsCommandSecretTargets?: typeof getScopedChannelsCommandSecretTargets; resolveCommandSecretRefsViaGateway?: typeof resolveCommandSecretRefsViaGateway; runMessageAction?: typeof runMessageAction; currentChannelId?: string; currentChannelProvider?: string; currentThreadTs?: string; agentThreadId?: string | number; currentMessageId?: string | number; replyToMode?: "off" | "first" | "all" | "batched"; hasRepliedRef?: { value: boolean; }; sameChannelThreadRequired?: boolean; sandboxRoot?: string; requireExplicitTarget?: boolean; sourceReplyDeliveryMode?: SourceReplyDeliveryMode; inboundEventKind?: InboundEventKind; requesterSenderId?: string; senderIsOwner?: boolean; }; export declare function createMessageTool(options?: MessageToolOptions): AnyAgentTool; export {};