import { Bounds } from '../css/layout/bounds'; import { Context } from '../core/context'; export { copyCSSStyles } from './copy-css-styles'; export { serializeDoctype } from './iframe-mount'; export interface CloneOptions { ignoreElements?: (element: Element) => boolean; onclone?: (document: Document, element: HTMLElement) => void; allowTaint?: boolean; iframeContainer?: HTMLElement | ShadowRoot; } export interface WindowOptions { scrollX: number; scrollY: number; windowWidth: number; windowHeight: number; } export type CloneConfigurations = CloneOptions & { inlineImages: boolean; copyStyles: boolean; cspNonce?: string; /** Aborting rejects the iframe mount instead of waiting out readiness windows. */ signal?: AbortSignal; }; export declare class DocumentCloner { private readonly context; private readonly options; private readonly scrolledElements; private readonly referenceElement; clonedReferenceElement?: HTMLElement; private readonly documentElement; private readonly counters; private readonly pseudoContents; private readonly slotCloner; constructor(context: Context, element: HTMLElement, options: CloneConfigurations); /** * Re-materialise the source document's constructable stylesheets * (document.adoptedStyleSheets) as a