import { type ConnectorCloseDetails, ConnectorError } from "../connector-client.js"; import type { AddressedMessageEvent, DeliveryPendingEvent, DeliveryStatusEvent, SendAckEvent, StructuredErrorEvent } from "../types.js"; export type ConnectorWSEvent = { event: "message_received"; payload: AddressedMessageEvent; } | { event: "send_ack"; payload: SendAckEvent; } | { event: "delivery_pending"; payload: DeliveryPendingEvent; } | { event: "delivery_status"; payload: DeliveryStatusEvent; } | { event: "delivery_cursor_advanced"; cursor: number; } | { event: "structured_error"; payload: StructuredErrorEvent; } | { event: "connected"; } | { event: "disconnected"; details?: ConnectorCloseDetails; } | { event: "error"; payload: Error; }; type ListenerFor = (e: Extract) => void; export interface ConnectorWSOptions { url: string; token: string; runtimeSessionId?: string; } export declare class ConnectorWS { private readonly client; private readonly bus; constructor(opts: ConnectorWSOptions); connect(): Promise; disconnect(): void; send(to: string, content: string, contentType?: string, metadata?: Record): Promise; ackDelivery(upToSeq: number): boolean; setDeliveryCursor(seq: number): void; getDeliveryCursor(): number | undefined; setRuntimeSessionId(runtimeSessionId: string | undefined): void; resetRuntimeSessionCursorScope(runtimeSessionId: string | undefined, cursor: number): void; getRuntimeSessionId(): string | undefined; prepareDeliverySeqAccepted(seq: number): number | undefined; markDeliverySeqAccepted(seq: number): number | undefined; releaseDeliverySeqPending(seq: number): void; on(event: E, listener: ListenerFor): this; off(event: E, listener: ListenerFor): this; _emitForTesting(e: ConnectorWSEvent): void; private wireForwarders; private emitBus; } export { ConnectorError }; //# sourceMappingURL=connector-ws.d.ts.map