import { Logger } from 'pino'; import { CDPBrowserInfo } from '../core/cdp-browser-manager.js'; import { RemoteCDPConfig } from './remote-cdp-client.js'; export interface CDPDetectionOptions { ports: number[]; timeout: number; host: string; useRemote?: boolean; remoteConfig?: RemoteCDPConfig; } export interface CDPDetectionResult { browsers: CDPBrowserInfo[]; totalScanned: number; detectionTime: number; } export declare class CDPDetector { private logger; constructor(logger: Logger); /** * Detects all CDP-enabled browsers on the system */ detectBrowsers(options: CDPDetectionOptions): Promise; /** * Detects browsers from remote CDP server */ private detectRemoteBrowsers; /** * Detects browsers locally by scanning ports */ private detectLocalBrowsers; /** * Detects a browser on a specific port */ private detectBrowserOnPort; /** * Detects browser type from version string */ private detectBrowserType; /** * Checks if a specific browser is available */ isBrowserAvailable(host: string, port: number, timeout?: number): Promise; /** * Gets detailed information about a specific browser */ getBrowserInfo(host: string, port: number, timeout?: number): Promise; /** * Scans a range of ports for CDP browsers */ scanPortRange(host: string, startPort: number, endPort: number, timeout?: number): Promise; /** * Monitors for new CDP browsers (continuously scans) */ monitorBrowsers(options: CDPDetectionOptions, callback: (browsers: CDPBrowserInfo[]) => void, interval?: number): Promise<() => void>; /** * Validates CDP endpoint */ validateCDPEndpoint(host: string, port: number, timeout?: number): Promise<{ isValid: boolean; version?: string; tabs?: number; error?: string; }>; /** * Utility method for sleeping */ private sleep; } //# sourceMappingURL=cdp-detector.d.ts.map