import { Browser } from "../browser/browser"; export interface Pool { getBrowser(id: string, opts?: object): Promise; freeBrowser(browser: T, opts?: object): Promise; cancel(error?: Error): void; } export interface BrowserOpts { force?: boolean; version?: string; highPriority?: boolean; } export type PoolLimiterKind = "browser" | "global"; export interface PoolObserverOperation { end(status?: "completed" | "failed" | "interrupted"): void; } export interface PoolObserver { start(kind: string, data: Record): PoolObserverOperation; record(event: string, data: Record): void; }