import WebSocket from "ws"; import type { FailureKind } from "./errors.js"; import { DeviceInfo, RemoteObject, ConnectedApp, ConnectOptions, EnsureConnectionResult, ConnectionCheckResult } from "./types.js"; export declare function recordDeviceSeen(name: string | null | undefined): void; export declare function findDisconnectedDeviceName(device: string): { name: string; lastSeenAt: number; } | null; export declare function resetDevicesSeenThisSession(): void; export declare function suppressReconnection(): void; export declare function suppressReconnectionForKey(appKey: string): void; export declare function clearReconnectionSuppression(): void; export declare function createWebSocketWithOriginFallback(url: string, timeoutMs?: number): Promise; export declare function describeConnectionFailure(errorMsg: string): string; export declare function getWebSocketStateName(state: number): string; export declare function purgeStaleConnectionsForPorts(freshDevicesByPort: Map): string[]; export declare function formatRemoteObject(result: RemoteObject): string; export declare function handleCDPMessage(message: Record, device: DeviceInfo, ws?: WebSocket): void; export declare function connectToDevice(device: DeviceInfo, port: number, options?: ConnectOptions): Promise; export declare function getConnectedApps(): Array<{ key: string; app: ConnectedApp; isConnected: boolean; }>; export declare function getFirstConnectedApp(): ConnectedApp | null; export declare function getConnectedAppBySimulatorUdid(udid: string): ConnectedApp | null; export declare function getConnectedAppByAndroidDeviceId(deviceId?: string): ConnectedApp | null; export type DeviceResolution = { kind: "ok"; app: ConnectedApp; } | { kind: "ambiguous"; device: string; matches: ConnectedApp[]; } | { kind: "none"; device?: string; connected: ConnectedApp[]; }; export declare function failureKindForResolution(resolution: DeviceResolution): FailureKind | undefined; export declare function describeDeviceResolution(resolution: DeviceResolution): string; export declare function resolveConnectedAppByDevice(device?: string): DeviceResolution; export declare function getConnectedAppByDevice(device?: string): ConnectedApp | null; export declare function hasConnectedApp(): boolean; export declare function runQuickHealthCheck(app: ConnectedApp): Promise; export interface LogPipelineResult { ok: boolean; recovered: boolean; message: string | null; } export declare function verifyLogPipeline(app: ConnectedApp): Promise; export declare function isHealthCheckMarker(message: string): boolean; export declare function ensureConnection(options?: { port?: number; healthCheck?: boolean; forceRefresh?: boolean; }): Promise; export interface PassiveConnectionStatus { connected: boolean; needsPing: boolean; reason: "ok" | "no_connection" | "context_stale" | "no_activity" | "activity_stale"; } export declare function getPassiveConnectionStatus(targetAppKey?: string): PassiveConnectionStatus; export declare function passiveConnectionBanner(targetAppKey?: string): string; export declare function checkAndEnsureConnection(device?: string): Promise; //# sourceMappingURL=connection.d.ts.map