import type { HarEntriesBuilder } from "./HarEntriesBuilder.ts"; import { HarPageBuilder } from "./HarPageBuilder.ts"; import type { Options } from "./Options.ts"; import type { Har } from "./types/index.ts"; import { type FrameId } from "./types/HttpArchiveFormat.ts"; /** * This class is responsible for building the pages of a HAR by handling * Page events through its `onPageEvent` method and then returning * the entries via its `pages` getter. */ export declare class HarPagesBuilder { protected readonly harEntriesBuilder: HarEntriesBuilder; protected readonly options: Options; constructor(harEntriesBuilder: HarEntriesBuilder, options: Options); byFrameId: Map; pageStackWithTopAtIndex0: HarPageBuilder[]; getOrCreateByFrameId: (frameId: FrameId) => HarPageBuilder; createForEntriesWithNoPage: (frameIds: FrameId[]) => HarPageBuilder; get topOfPageStack(): HarPageBuilder; protected validPageBuilders: () => HarPageBuilder[]; assignEntriesToPages: () => void; assignPageIds: () => void; get pages(): Har.Page[]; /** * Handle Chrome DevTools Protocol "Page." events to gather them all into * pageBuilder objects that generate the page entries of a HAR file. * * @param eventName Chrome DevTools Protocol event name * @param untypedEvent Chrome DevTools Protocol event (the type of which * will be inferred from the eventName). * @returns */ onPageEvent: (eventName: string, untypedEvent: unknown) => void; }