import { r as KlawConfig } from "./types.klaw-xKUw_Rz7.js"; import { T as ReplyToMode } from "./types.base-Dkv2492C.js"; import { s as ReplyPayload } from "./get-reply-options.types-CS-CA1Iq.js"; import { t as OutboundSendDeps } from "./send-deps-BMd-KmRC.js"; import { t as OutboundMediaAccess } from "./load-options-BmNzjB18.js"; //#region src/channels/message/types.d.ts type MessageDurabilityPolicy = "required" | "best_effort" | "disabled"; declare const durableFinalDeliveryCapabilities: readonly ["text", "media", "payload", "silent", "replyTo", "thread", "nativeQuote", "messageSendingHooks", "batch", "reconcileUnknownSend", "afterSendSuccess", "afterCommit"]; type DurableFinalDeliveryCapability = (typeof durableFinalDeliveryCapabilities)[number]; type DurableFinalDeliveryRequirementMap = Partial>; type DurableFinalDeliveryPayloadShape = { text?: string | null; replyToId?: string | null; mediaUrl?: string | null; mediaUrls?: readonly (string | null | undefined)[] | null; }; type MessageReceiptSourceResult = { channel?: string; messageId?: string; chatId?: string; channelId?: string; roomId?: string; conversationId?: string; toJid?: string; pollId?: string; timestamp?: number; meta?: Record; }; type MessageReceiptPartKind = "text" | "media" | "voice" | "card" | "preview" | "unknown"; type MessageReceiptPart = { platformMessageId: string; kind: MessageReceiptPartKind; index: number; threadId?: string; replyToId?: string; raw?: MessageReceiptSourceResult; }; type MessageReceipt = { primaryPlatformMessageId?: string; platformMessageIds: string[]; parts: MessageReceiptPart[]; threadId?: string; replyToId?: string; editToken?: string; deleteToken?: string; sentAt: number; raw?: readonly MessageReceiptSourceResult[]; }; type RenderedMessageBatchPlanKind = "text" | "media" | "voice" | "presentation" | "interactive" | "channelData" | "empty"; type RenderedMessageBatchPlanItem = { index: number; kinds: readonly RenderedMessageBatchPlanKind[]; text?: string; mediaUrls: readonly string[]; audioAsVoice?: boolean; presentationBlockCount?: number; hasInteractive?: boolean; hasChannelData?: boolean; }; type RenderedMessageBatchPlan = { payloadCount: number; textCount: number; mediaCount: number; voiceCount: number; presentationCount: number; interactiveCount: number; channelDataCount: number; items: readonly RenderedMessageBatchPlanItem[]; }; type RenderedMessageBatch = { payloads: TPayload[]; plan: RenderedMessageBatchPlan; }; type LiveMessagePhase = "idle" | "previewing" | "finalizing" | "finalized" | "cancelled"; type LiveMessageState = { phase: LiveMessagePhase; canFinalizeInPlace: boolean; receipt?: MessageReceipt; lastRendered?: RenderedMessageBatch; }; type MessageSendContext = { id: string; channel: string; to: string; accountId?: string; durability: Exclude; attempt: number; signal: AbortSignal; intent?: DurableMessageSendIntent; previousReceipt?: MessageReceipt; preview?: LiveMessageState; render(): Promise>; previewUpdate(rendered: RenderedMessageBatch): Promise>; send(rendered: RenderedMessageBatch): Promise; edit(receipt: MessageReceipt, rendered: RenderedMessageBatch): Promise; delete(receipt: MessageReceipt): Promise; commit(receipt: MessageReceipt): Promise; fail(error: unknown): Promise; }; type ChannelMessageSendTextContext = { cfg: TConfig; to: string; text: string; accountId?: string | null; deps?: OutboundSendDeps; replyToId?: string | null; replyToIdSource?: "explicit" | "implicit"; replyToMode?: ReplyToMode; threadId?: string | number | null; silent?: boolean; signal?: AbortSignal; gatewayClientScopes?: readonly string[]; }; type ChannelMessageSendMediaContext = ChannelMessageSendTextContext & { mediaUrl: string; mediaAccess?: OutboundMediaAccess; mediaLocalRoots?: readonly string[]; mediaReadFile?: (filePath: string) => Promise; audioAsVoice?: boolean; gifPlayback?: boolean; forceDocument?: boolean; }; type ChannelMessageSendPayloadContext = ChannelMessageSendTextContext & { payload: ReplyPayload; mediaUrl?: string; mediaAccess?: OutboundMediaAccess; mediaLocalRoots?: readonly string[]; mediaReadFile?: (filePath: string) => Promise; audioAsVoice?: boolean; gifPlayback?: boolean; forceDocument?: boolean; }; type ChannelMessageSendResult = { receipt: MessageReceipt; messageId?: string; }; type ChannelMessageSendAttemptKind = "text" | "media" | "payload"; type ChannelMessageSendAttemptContext = (ChannelMessageSendTextContext & { kind: "text"; }) | (ChannelMessageSendMediaContext & { kind: "media"; }) | (ChannelMessageSendPayloadContext & { kind: "payload"; }); type ChannelMessageSendSuccessContext = ChannelMessageSendAttemptContext & { result: TSendResult; attemptToken?: unknown; }; type ChannelMessageSendFailureContext = ChannelMessageSendAttemptContext & { error: unknown; attemptToken?: unknown; }; type ChannelMessageSendCommitContext = ChannelMessageSendSuccessContext; type ChannelMessageUnknownSendContext = { cfg: TConfig; queueId: string; channel: string; to: string; accountId?: string | null; enqueuedAt: number; retryCount: number; platformSendStartedAt?: number; payloads: readonly ReplyPayload[]; renderedBatchPlan?: RenderedMessageBatchPlan; replyToId?: string | null; replyToMode?: ReplyToMode; threadId?: string | number | null; silent?: boolean; }; type ChannelMessageUnknownSendReconciliationResult = { status: "sent"; receipt: MessageReceipt; messageId?: string; } | { status: "not_sent"; } | { status: "unresolved"; error?: string; retryable?: boolean; }; type ChannelMessageSendLifecycleAdapter = { beforeSendAttempt?: (ctx: ChannelMessageSendAttemptContext) => unknown; afterSendSuccess?: (ctx: ChannelMessageSendSuccessContext) => Promise | void; afterSendFailure?: (ctx: ChannelMessageSendFailureContext) => Promise | void; afterCommit?: (ctx: ChannelMessageSendCommitContext) => Promise | void; }; type ChannelMessageSendAdapter = { text?: (ctx: ChannelMessageSendTextContext) => Promise; media?: (ctx: ChannelMessageSendMediaContext) => Promise; payload?: (ctx: ChannelMessageSendPayloadContext) => Promise; lifecycle?: ChannelMessageSendLifecycleAdapter; }; type ChannelMessageDurableFinalAdapter = { capabilities?: DurableFinalDeliveryRequirementMap; reconcileUnknownSend?: (ctx: ChannelMessageUnknownSendContext) => Promise | ChannelMessageUnknownSendReconciliationResult | null; }; type ChannelMessageLiveCapability = "draftPreview" | "previewFinalization" | "progressUpdates" | "nativeStreaming" | "quietFinalization"; declare const livePreviewFinalizerCapabilities: readonly ["finalEdit", "normalFallback", "discardPending", "previewReceipt", "retainOnAmbiguousFailure"]; type LivePreviewFinalizerCapability = (typeof livePreviewFinalizerCapabilities)[number]; type LivePreviewFinalizerCapabilityMap = Partial>; type ChannelMessageLiveFinalizerAdapterShape = { capabilities?: LivePreviewFinalizerCapabilityMap; }; type ChannelMessageLiveAdapterShape = { capabilities?: Partial>; finalizer?: ChannelMessageLiveFinalizerAdapterShape; }; type ChannelMessageReceiveAckPolicy = "after_receive_record" | "after_agent_dispatch" | "after_durable_send" | "manual"; type ChannelMessageReceiveAdapterShape = { defaultAckPolicy?: ChannelMessageReceiveAckPolicy; supportedAckPolicies?: readonly ChannelMessageReceiveAckPolicy[]; }; type ChannelMessageAdapterShape = { id?: string; durableFinal?: ChannelMessageDurableFinalAdapter; send?: ChannelMessageSendAdapter; live?: ChannelMessageLiveAdapterShape; receive?: ChannelMessageReceiveAdapterShape; }; type ChannelMessageAdapter = TAdapter; type DurableFinalRequirementExtras = DurableFinalDeliveryRequirementMap; type DeriveDurableFinalDeliveryRequirementsParams = { payload: DurableFinalDeliveryPayloadShape; replyToId?: string | null; threadId?: string | number | null; silent?: boolean; messageSendingHooks?: boolean; payloadTransport?: boolean; batch?: boolean; reconcileUnknownSend?: boolean; afterSendSuccess?: boolean; afterCommit?: boolean; extraCapabilities?: DurableFinalRequirementExtras; }; type DurableMessageSendIntent = { id: string; channel: string; to: string; accountId?: string; durability: Exclude; renderedBatch?: RenderedMessageBatch; }; //#endregion export { LivePreviewFinalizerCapability as A, RenderedMessageBatchPlanItem as B, DurableFinalDeliveryCapability as C, DurableMessageSendIntent as D, DurableFinalRequirementExtras as E, MessageReceiptPartKind as F, MessageReceiptSourceResult as I, MessageSendContext as L, MessageDurabilityPolicy as M, MessageReceipt as N, LiveMessagePhase as O, MessageReceiptPart as P, RenderedMessageBatch as R, DeriveDurableFinalDeliveryRequirementsParams as S, DurableFinalDeliveryRequirementMap as T, RenderedMessageBatchPlanKind as V, ChannelMessageSendResult as _, ChannelMessageLiveCapability as a, ChannelMessageUnknownSendContext as b, ChannelMessageReceiveAdapterShape as c, ChannelMessageSendAttemptKind as d, ChannelMessageSendCommitContext as f, ChannelMessageSendPayloadContext as g, ChannelMessageSendMediaContext as h, ChannelMessageLiveAdapterShape as i, LivePreviewFinalizerCapabilityMap as j, LiveMessageState as k, ChannelMessageSendAdapter as l, ChannelMessageSendLifecycleAdapter as m, ChannelMessageAdapterShape as n, ChannelMessageLiveFinalizerAdapterShape as o, ChannelMessageSendFailureContext as p, ChannelMessageDurableFinalAdapter as r, ChannelMessageReceiveAckPolicy as s, ChannelMessageAdapter as t, ChannelMessageSendAttemptContext as u, ChannelMessageSendSuccessContext as v, DurableFinalDeliveryPayloadShape as w, ChannelMessageUnknownSendReconciliationResult as x, ChannelMessageSendTextContext as y, RenderedMessageBatchPlan as z };