import type { Browser, BrowserProtocol } from './browser';
import { ChromeCdpBrowser } from './browsers/chrome-cdp';
import type { BrowserFinderResult, FinderName } from './finder';
export interface BrowserManagerConfig {
    /** Browser finders */
    finders?: FinderName | FinderName[];
    /** Preferred path */
    path?: string;
    /** Preferred protocol */
    protocol?: BrowserProtocol;
    /** Timeout for browser operations */
    timeout?: number;
}
export declare class BrowserManager implements AsyncDisposable {
    private _finders;
    private _finderPreferredPath?;
    private _finderResult;
    private _conversionBrowser;
    private _preferredProtocol;
    private _previewBrowser;
    private _timeout?;
    constructor(config?: BrowserManagerConfig);
    get timeout(): number | undefined;
    configure(config: BrowserManagerConfig): void;
    findBrowser(): Promise<BrowserFinderResult>;
    browserForConversion(): Promise<Browser>;
    browserForPreview(): Promise<ChromeCdpBrowser>;
    dispose(): Promise<void>;
    [Symbol.asyncDispose](): Promise<void>;
}
