import * as pool from 'generic-pool'; import * as puppeteer from 'puppeteer'; import { AssetDiscoveryConfiguration } from '../configuration/asset-discovery-configuration'; import { SnapshotOptions } from '../percy-agent-client/snapshot-options'; import PercyClientService from './percy-client-service'; import ResponseService from './response-service'; export declare const MAX_SNAPSHOT_WIDTHS: number; export declare class AssetDiscoveryService extends PercyClientService { responseService: ResponseService; browser: puppeteer.Browser | null; pagePool: pool.Pool | null; configuration: AssetDiscoveryConfiguration; constructor(buildId: number, configuration?: AssetDiscoveryConfiguration); setup(): Promise; createBrowser(): Promise; createPagePool(exec: () => PromiseLike, min: number, max: number): Promise>; createPage(browser: puppeteer.Browser): Promise; discoverResources(rootResourceUrl: string, domSnapshot: string, options: SnapshotOptions, logger: any): Promise; shouldRequestResolve(request: puppeteer.Request): boolean; teardown(): Promise; shouldProcessRequest(resourceUrl: string, rootResourceUrl: string): boolean; private resourcesForWidth; private cleanPagePool; private closeBrowser; }