import { api } from '@replit/protocol'; import { Channel } from './channel'; import { ConnectionState, ChannelRequestPriority } from './types'; import type { GovalMetadata, OpenChannelCb, ChannelOptions, DebugLog, OpenOptions } from './types'; import CrosisError from './util/CrosisError'; export declare function sortByPriority(a: R, b: R): number; export declare class Client { private connectionState; private connectionStateChangeFuncs; private ws; private connectOptions; private chan0Cb; private chan0CleanupCb; private channelRequests; private channels; private debugFuncs; private bootStatusFuncs; private userUnrecoverableErrorHandler; private retryTimeoutId; private connectTimeoutId; private fetchTokenAbortControllers; private destroyed; private connectionMetadata; private redirectInitiatorURL; private connectionId; constructor(); open: (options: OpenOptions, cb: OpenChannelCb) => void; openChannel: (options: ChannelOptions, cb: OpenChannelCb) => (() => void); private requestOpenChannel; private requestCloseChannel; close: ({ expectReconnect }?: { expectReconnect: boolean; }) => void; destroy: () => void; getChannel: (id: number) => Channel; private debug; onDebugLog: (debugFunc: (log: DebugLog) => void) => (() => void); private setConnectionState; onConnectionStateChange: (connectionStateChangeFunc: (connectionState: ConnectionState) => void) => (() => void); getConnectionState: () => ConnectionState; onBootStatus: (bootStatusFunc: (command: api.BootStatus) => void) => (() => void); onFirewallDenied: () => void; setUnrecoverableErrorHandler: (onUnrecoverableError: (e: CrosisError) => void) => void; getConnectionMetadata: () => GovalMetadata | null; private connect; private retryConnect; private send; private onSocketMessage; private handleConnect; private handleClose; private cleanupSocket; private onUnrecoverableError; private redirectInitiatorFallback; private handleRedirect; }