export declare const CURRENT_PROTOCOL_VERSION = 4; export declare const REGISTER_ACK_TIMEOUT_MS = 15000; export declare const SEND_ACK_TIMEOUT_MS = 15000; export declare const MAX_RUNTIME_SESSION_ID_LENGTH = 256; export interface RegisterEvent { event: "REGISTER"; token: string; protocolVersion: number; clientVersion?: string; clientKind?: "runtime-broker"; runtimeSessionId?: string; lastKnownSeq?: number; } export interface AddressedSendEvent { event: "SEND_MESSAGE"; messageId: string; to: string; content: string; contentType: string; metadata?: Record; } export interface AddressedTypingEvent { event: "TYPING"; to: string; isTyping: boolean; } export interface AddressedDeliveryAckEvent { event: "DELIVERY_ACK"; runtimeSessionId?: string; upToSeq: number; } export interface RequestGapFillEvent { event: "REQUEST_GAP_FILL"; runtimeSessionId?: string; sinceSeq: number; } export interface RegisterAckEvent { event: "REGISTER_ACK"; status: "ok" | "error"; reason?: string; protocolVersion: number; agent?: { handle: string; name?: string; }; owner?: { handle: string; displayName?: string; }; deliverySeq?: number; deliveryRuntimeSessionId?: string; } export interface SendAckEvent { event: "SEND_ACK"; messageId: string; status: "delivered" | "stored"; } export interface AddressedMessageEvent { event: "MESSAGE_RECEIVED"; messageId?: string; runtimeSessionId?: string; from: string; content: string; contentType: string; metadata: Record; sentAt?: string; seq?: number; } export interface NodeRefView { kind: string; mstpAddress: string; handle?: string; displayName?: string; avatarUrl?: string; } export interface DeliveryPendingEvent { event: "DELIVERY_PENDING"; count: number; upTo: string; } export interface StructuredErrorEvent { event: "ERROR"; messageId?: string; to?: string; code: string; message: string; } export interface DeliveryStatusEvent { event: "DELIVERY_STATUS"; messageId: string; status: "delivered"; deliveredAt?: string; } export interface DeliveryCursorEvent { event: "DELIVERY_CURSOR"; runtimeSessionId?: string; deliverySeq: number; deliveredSeq?: number; } export interface DeliverySkipEvent { event: "DELIVERY_SKIP"; runtimeSessionId?: string; seq: number; reason: "runtime_mailbox_dismissed"; messageId?: string; deliveredAt?: string; } export type PluginToConnectorEvent = RegisterEvent | AddressedSendEvent | AddressedTypingEvent | AddressedDeliveryAckEvent | RequestGapFillEvent; export type ConnectorToPluginEvent = RegisterAckEvent | SendAckEvent | AddressedMessageEvent | DeliveryPendingEvent | DeliveryStatusEvent | DeliveryCursorEvent | DeliverySkipEvent | StructuredErrorEvent; export declare function normalizeRuntimeSessionId(runtimeSessionId: string | undefined): string | undefined; export declare function isRegisterAck(data: unknown): data is RegisterAckEvent; export declare function isSendAck(data: unknown): data is SendAckEvent; export declare function isAddressedMessage(data: unknown): data is AddressedMessageEvent; export declare function isDeliveryPending(data: unknown): data is DeliveryPendingEvent; export declare function isDeliveryStatus(data: unknown): data is DeliveryStatusEvent; export declare function isDeliveryCursor(data: unknown): data is DeliveryCursorEvent; export declare function isDeliverySkip(data: unknown): data is DeliverySkipEvent; export declare function isStructuredError(data: unknown): data is StructuredErrorEvent; //# sourceMappingURL=types.d.ts.map