import type { OpenClawConfig } from "../../config/config.js"; import { type GatewayClientMode, type GatewayClientName } from "../../utils/message-channel.js"; import { type OutboundDeliveryResult, type OutboundSendDeps } from "./deliver.js"; export type MessageGatewayOptions = { url?: string; token?: string; timeoutMs?: number; clientName?: GatewayClientName; clientDisplayName?: string; mode?: GatewayClientMode; }; type MessageSendParams = { to: string; content: string; channel?: string; mediaUrl?: string; mediaUrls?: string[]; gifPlayback?: boolean; accountId?: string; dryRun?: boolean; bestEffort?: boolean; deps?: OutboundSendDeps; cfg?: OpenClawConfig; gateway?: MessageGatewayOptions; idempotencyKey?: string; mirror?: { sessionKey: string; agentId?: string; text?: string; mediaUrls?: string[]; }; abortSignal?: AbortSignal; }; export type MessageSendResult = { channel: string; to: string; via: "direct" | "gateway"; mediaUrl: string | null; mediaUrls?: string[]; result?: OutboundDeliveryResult | { messageId: string; }; dryRun?: boolean; }; type MessagePollParams = { to: string; question: string; options: string[]; maxSelections?: number; durationHours?: number; channel?: string; dryRun?: boolean; cfg?: OpenClawConfig; gateway?: MessageGatewayOptions; idempotencyKey?: string; }; export type MessagePollResult = { channel: string; to: string; question: string; options: string[]; maxSelections: number; durationHours: number | null; via: "gateway"; result?: { messageId: string; toJid?: string; channelId?: string; conversationId?: string; pollId?: string; }; dryRun?: boolean; }; export declare function sendMessage(params: MessageSendParams): Promise; export declare function sendPoll(params: MessagePollParams): Promise; export {};