import type { AppServerSocketConstructor, AppServerSocketLike } from "@letta-ai/letta-code/app-server-client"; import type { RuntimeScope } from "./remote-session-protocol.js"; import type { LettaCodeSocketConstructor, LettaCodeSocketLike } from "./types.js"; type CloudStatusTransportOptions = { url: string; WebSocket: LettaCodeSocketConstructor; headers?: Record; pingIntervalMs: number; runtime: RuntimeScope; }; type Listener = (event: unknown) => void; /** * Cloud's status relay still exposes separate control and stream sockets. * * This adapter presents those two relay sockets as one AppServerSocketLike, * allowing CloudSession to reuse AppServerClient's request correlation and * the SDK's shared runtime controller without weakening the local app-server's * strict one-socket contract. Remove it when LET-10236 migrates the relay. */ export declare class CloudStatusTransport implements AppServerSocketLike { private readonly options; readonly controlSocket: LettaCodeSocketLike; readonly streamSocket: LettaCodeSocketLike; private state; private openedChannels; private listeners; private removers; private seenIdempotencyKeys; private seenIdempotencyOrder; private lastEventSeq; private pingTimer; private closeEmitted; constructor(options: CloudStatusTransportOptions); get readyState(): number; send(data: string): void; close(): void; addEventListener(type: string, listener: Listener): void; removeEventListener(type: string, listener: Listener): void; private bindSocket; private shouldForwardMessage; private ackIfSequenced; private isDuplicate; private trackEventSequence; private sendCommand; private startPing; private stopPing; private closeUnderlyingSockets; private finishClose; private emit; } export declare function createCloudStatusTransportConstructor(options: CloudStatusTransportOptions): AppServerSocketConstructor; export {}; //# sourceMappingURL=cloud-status-transport.d.ts.map