import type { ChannelMessageReceiveAckPolicy } from "./types.js"; export type MessageAckPolicy = ChannelMessageReceiveAckPolicy; export type MessageAckStage = "receive_record" | "agent_dispatch" | "durable_send" | "manual"; export type MessageAckState = "pending" | "acked" | "nacked"; export type MessageReceiveContext = { id: string; channel: string; accountId?: string; message: TMessage; ackPolicy: MessageAckPolicy; ackState: MessageAckState; ackedAt?: number; nackErrorMessage?: string; receivedAt: number; signal: AbortSignal; shouldAckAfter(stage: MessageAckStage): boolean; ack(): Promise; nack(error: unknown): Promise; }; export declare function shouldAckMessageAfterStage(policy: MessageAckPolicy, stage: MessageAckStage): boolean; export declare function createMessageReceiveContext(params: { id: string; channel: string; accountId?: string; message: TMessage; ackPolicy?: MessageAckPolicy; receivedAt?: number; signal?: AbortSignal; onAck?: () => Promise | void; onNack?: (error: unknown) => Promise | void; }): MessageReceiveContext;