import debug from "debug"; import { BrowserOpts, Pool, PoolObserver } from "./types"; import { Browser } from "../browser/browser"; export interface LimitedPoolOpts { limit: number; isSpecificBrowserLimiter?: boolean; observer?: PoolObserver; } export declare class LimitedPool implements Pool { private _limit; private _launched; private _requests; private _requestQueue; private _highPriorityRequestQueue; private _isSpecificBrowserLimiter; private _observer?; log: debug.Debugger; underlyingPool: Pool; static create(underlyingPool: Pool, opts: LimitedPoolOpts): LimitedPool; constructor(underlyingPool: Pool, opts: LimitedPoolOpts); getBrowser(id: string, opts?: BrowserOpts): Promise; freeBrowser(browser: Browser, opts?: BrowserOpts): Promise; cancel(error?: Error): void; private _getBrowser; private _newBrowser; private _lookAtNextRequest; private _launchNextBrowser; private _limiterKind; private _sampleState; }