import type { InteractionEvent } from "@copilotkit/channels-core"; import type { InboundMessage, ReplyTarget } from "./types.js"; /** * Stable conversation key shared by ingress (onTurn) and interaction decoding * so `awaitChoice` waiters resolve. Both paths MUST derive the key from this * single helper — a mismatch silently strands the waiter. */ export declare function conversationKeyOf(waId: string): string; /** Inverse of conversationKeyOf: recover the wa_id from a conversation key. */ export declare function waIdFromKey(conversationKey: string): string; /** * Decode an inbound interactive message (`button_reply` / `list_reply`) into a * bot `InteractionEvent`. The opaque minted id (`ck:...`) rides in the reply * `id`. A control's value is encoded as `${actionId}::${JSON.stringify(value)}` * (see render/message.ts), so we split it back here: the engine dispatches by * `actionId` and the value rides in `value`. */ export declare function decodeInteraction(msg: InboundMessage, replyTarget: ReplyTarget): InteractionEvent | undefined; //# sourceMappingURL=interaction.d.ts.map