import type { HarEntriesBuilder } from "./HarEntriesBuilder.ts"; import type { HarEntryBuilder } from "./HarEntryBuilder.ts"; import { ISODateTimeString } from "./types/"; import type { FrameId, Page, DevToolsProtocol, PageTimings, Timestamp } from "./types/HttpArchiveFormat.ts"; /** * This builder holds a set of events associated with a HAR page and then, * after all data has been populated, generates a HAR page object. */ export declare class HarPageBuilder { #private; protected readonly harEntriesBuilder: HarEntriesBuilder; readonly orderCreated: number; id?: string; frameAttachedEvents: DevToolsProtocol.Page.FrameAttachedEvent[]; loadEventFiredEvent?: DevToolsProtocol.Page.LoadEventFiredEvent; domContentEventFiredEvent?: DevToolsProtocol.Page.DomContentEventFiredEvent; frameStartedLoadingEvent?: DevToolsProtocol.Page.FrameStartedLoadingEvent; frameRequestedNavigationEvent?: DevToolsProtocol.Page.FrameRequestedNavigationEvent; navigatedWithinDocumentEvent?: DevToolsProtocol.Page.NavigatedWithinDocumentEvent; frameIds: Set; constructor(harEntriesBuilder: HarEntriesBuilder, orderCreated: number, frameIds?: FrameId[]); addFrameId: (frameId: FrameId) => void; protected get title(): string; get isValid(): boolean; /** * To be used only after all builders' data has been populated and no new * data is to be added. */ protected get earliestRequest(): HarEntryBuilder; get timestamp(): Timestamp; protected get startedDateTime(): ISODateTimeString; get pageTimings(): PageTimings; get page(): Page; } export type HarPageGenerated = HarPageBuilder['page'];