export type EditorSocketEventType = "idle" | "connect-attempt" | "open" | "message" | "close" | "error" | "reconnect-scheduled" | "reused-socket";
export type EditorSocketReadyStateLabel = "uninitialized" | "connecting" | "open" | "closing" | "closed";
export interface EditorSocketDiagnostics {
    sessionId: string;
    readyState: number | null;
    readyStateLabel: EditorSocketReadyStateLabel;
    reconnectCount: number;
    lastEventType: EditorSocketEventType;
    lastEventAt: string | null;
    lastOpenAt: string | null;
    lastMessageAt: string | null;
    lastCloseAt: string | null;
    lastErrorAt: string | null;
    lastCloseCode: number | null;
    lastCloseReason: string | null;
    lastErrorMessage: string | null;
}
export declare function getEditorSocketReadyStateLabel(readyState: number | null | undefined): EditorSocketReadyStateLabel;
export declare function createEditorSocketDiagnostics(sessionId: string): EditorSocketDiagnostics;
