/** * Canonical event names and payload types for `__hostPush` events. * * These are the canonical JS event names and payload shapes for products. * Rust hosts should keep their event definitions aligned with these shared * names and field shapes. * * @example * ```ts * import { DATA_CONNECTED, type DataConnectedPayload } from "@paritytech/host-sdk"; * * host.on(DATA_CONNECTED, (payload: DataConnectedPayload) => { * console.log(`Connected to ${payload.peer} on conn ${payload.connId}`); * }); * ``` */ export declare const DATA_CONNECTED: "dataConnected"; export declare const DATA_MESSAGE: "dataMessage"; export declare const DATA_BINARY: "dataBinary"; export declare const DATA_CLOSED: "dataClosed"; export declare const DATA_ERROR: "dataError"; export declare const DATA_INCOMING_CALL: "dataIncomingCall"; export interface DataConnectedPayload { connId: number; peer: string; } export interface DataMessagePayload { connId: number; data: string; } export interface DataBinaryPayload { connId: number; dataBase64: string; } export interface DataClosedPayload { connId: number; reason: string; } export interface DataErrorPayload { connId: number; error: string; } export interface DataIncomingCallPayload { connId: number; peer: string; } export declare const MEDIA_TRACK_READY: "mediaTrackReady"; export declare const MEDIA_CONNECTED: "mediaConnected"; export declare const MEDIA_REMOTE_TRACK: "mediaRemoteTrack"; export declare const MEDIA_CLOSED: "mediaClosed"; export declare const MEDIA_ERROR: "mediaError"; export declare const MEDIA_INCOMING_CALL: "mediaIncomingCall"; export declare const MEDIA_SIGNALING_PROGRESS: "mediaSignalingProgress"; export declare const MEDIA_TRACK_STOPPED: "mediaTrackStopped"; export declare const MEDIA_CALL_STATE_CHANGED: "mediaCallStateChanged"; export interface MediaTrackReadyPayload { trackId: number; kind: string; } export interface MediaConnectedPayload { sessionId: number; peer: string; } export interface MediaRemoteTrackPayload { sessionId: number; trackId: number; kind: string; } export interface MediaClosedPayload { sessionId: number; reason: string; } export interface MediaErrorPayload { sessionId: number; error: string; } export interface MediaIncomingCallPayload { peer: string; peerAddress?: string; groupId?: string; groupSize?: number; } export interface MediaSignalingProgressPayload { sessionId: number; stage: string; } export interface MediaTrackStoppedPayload { trackId: number; kind: string; sessionId: number; } /** Call lifecycle state. */ export type CallStateLabel = "idle" | "ringing" | "connecting" | "connected" | "reconnecting" | "ended"; /** Payload for `mediaCallStateChanged` events. */ export interface MediaCallStateChangedPayload { sessionId: number; /** Current call state. */ state: CallStateLabel; /** Remote peer identifier. */ peer: string; /** Call direction: "outgoing" or "incoming". */ direction: "outgoing" | "incoming"; /** Reason the call ended (only present when `state === "ended"`). */ reason?: string; } export declare const STATEMENT: "statement"; /** * Payload delivered to `host.on("statement", ...)`. * * `timestampMs` is the statement-store timestamp in milliseconds since the Unix * epoch. Older bridge adapters may fall back to local receive time when the * upstream transport does not preserve the store timestamp yet. */ export interface StatementEventPayload { author: string | undefined; channel: string; data: string; timestampMs: number; } export declare const MESH_TOPIC: "meshTopic"; export declare const MESH_QUERY: "meshQuery"; export declare const MESH_REPLY: "meshReply"; export declare const MESH_SCOPED_QUERY: "meshScopedQuery"; export declare const MESH_SCOPED_REPLY: "meshScopedReply"; export declare const MESH_PRESENCE: "meshPresence"; export declare const MESH_HEARTBEAT: "meshHeartbeat"; export declare const MESH_PRIVATE_CONTROL: "meshPrivateControl"; export declare const MESH_PRIVATE_RECEIPT: "meshPrivateReceipt"; export declare const CRDT_REMOTE_UPDATE: "crdtRemoteUpdate"; export declare const CRDT_AWARENESS: "crdtAwareness"; export declare const CRDT_PEER_CHANGE: "crdtPeerChange"; export interface MeshTopicPayload { topic: string; dataBase64: string; author?: string; } export interface MeshQueryPayload { requestId: string; path: string; dataBase64: string; author?: string; } export type MeshObjectReadReason = "expired" | "not_found" | "policy_denied"; export type MeshOpaqueHandle = string; export type MeshCapability = string; export interface MeshObjectPolicy { expiresAtMs?: number; suppressPreviews?: boolean; } export interface MeshObjectResult { dataBase64: string | null; reason?: MeshObjectReadReason; expiresAtMs?: number; } export interface MeshPrivateObjectRef { handle: MeshOpaqueHandle; capability: MeshCapability; expiresAtMs?: number; } export interface MeshControlEnvelope { mode: "visible" | "encrypted"; dataBase64: string; } export interface MeshReplyPayload { requestId: string; dataBase64: string | null; reason?: MeshObjectReadReason; expiresAtMs?: number; author?: string; } export interface MeshScopedQueryPayload { requestId: string; requesterId: string; path: string; dataBase64: string; capabilityId: string; pathPrefix: string; targetId: string; expiresAtMs: number; maxUses: number; author?: string; } export interface MeshScopedReplyPayload { requestId: string; responderId: string; dataBase64: string; capabilityId: string; author?: string; } export interface MeshPresencePayload { peerId: string; state: string; } export interface MeshHeartbeatPayload { streamId: string; authorId: string; earliestRetainedSeq: number; latestAvailableSeq: number; } export interface MeshPrivateControlPayload { capability: MeshCapability; envelope: MeshControlEnvelope; author?: string; } export interface MeshPrivateReceiptPayload { capability: MeshCapability; dataBase64: string; author?: string; } export interface CrdtJoinResult { roomId: string; transport: string; } export declare const INDEX_EVENT: "indexEvent"; export declare const INDEX_SYNC_PROGRESS: "indexSyncProgress"; export declare const INDEX_SCAN_COMPLETED: "indexScanCompleted"; export interface IndexEventPayload { alias: string; eventName: string; blockNumber: number; blockHash: string; logIndex: number; data: unknown; topics: string[]; timestampMs?: number; } export interface IndexSyncProgressPayload { alias: string; direction: "forward" | "backward"; currentBlock: number; targetBlock: number; } export interface IndexScanCompletedPayload { alias: string; direction: "forward" | "backward"; finalBlock: number; reason: string; } export interface CrdtRemoteUpdatePayload { roomId: string; updateBase64: string; } export interface CrdtAwarenessPayload { roomId: string; clientId: number; state: string; } export interface CrdtPeerChangePayload { roomId: string; peers: string[]; } //# sourceMappingURL=events.d.ts.map