import { WebSocket } from 'ws'; export interface TabConnection { tabId: string; ws: WebSocket; url?: string; title?: string; browser?: string; connectedAt: number; lastPing?: number; domSize?: number; fullPageDimensions?: { width: number; height: number; }; viewportDimensions?: { width: number; height: number; }; scrollPosition?: { x: number; y: number; }; pageVisibility?: { visible: boolean; visibilityState: string; }; } export declare class TabRegistry { private tabs; private disconnectCallback?; private connectCallback?; private updateCallback?; register(tabId: string, ws: WebSocket): void; registerWithoutCallback(tabId: string, ws: WebSocket): void; triggerConnectCallback(tabId: string): void; unregister(tabId: string): void; get(tabId: string): TabConnection | undefined; getAll(): TabConnection[]; findByWebSocket(ws: WebSocket): TabConnection | undefined; updateTabInfo(tabId: string, info: { url?: string; title?: string; browser?: string; domSize?: number; fullPageDimensions?: { width: number; height: number; }; viewportDimensions?: { width: number; height: number; }; scrollPosition?: { x: number; y: number; }; pageVisibility?: { visible: boolean; visibilityState: string; }; }): void; updateLastPing(tabId: string): void; getActiveTabCount(): number; setDisconnectCallback(callback: (tabId: string) => Promise): void; setConnectCallback(callback: (tabId: string) => Promise): void; setUpdateCallback(callback: (tabId: string) => Promise): void; } //# sourceMappingURL=tab-registry.d.ts.map