import debug from "debug"; import { BasicPool } from "./basic-pool"; import { Config } from "../config"; import { Pool, PoolObserver } from "./types"; import { NewBrowser } from "../browser/new-browser"; export type FreeBrowserOpts = { hasFreeSlots?: boolean; force?: boolean; compositeIdForNextRequest?: string; }; export declare class CachingPool implements Pool { private _caches; private _config; private _observer?; underlyingPool: BasicPool; log: debug.Debugger; constructor(underlyingPool: BasicPool, config: Config, observer?: PoolObserver); private _getCacheFor; getBrowser(id: string, opts?: { version?: string; }): Promise; private _initPool; /** * Free browser * @param {Browser} browser session instance * @param {Object} [options] - advanced options * @param {Boolean} [options.force] - if `true` than browser should * not be cached * @returns {Promise} */ freeBrowser(browser: NewBrowser, options?: FreeBrowserOpts): Promise; cancel(err?: Error): void; }