import Observer from './observer.js'; import { Offset } from './iframe_offsets.js'; import App from '../index.js'; export declare enum InlineCssMode { None = 0, RemoteOnly = 1, RemoteWithForceFetch = 2, All = 3, Auto = 4 } export interface Options { captureIFrames: boolean; disableSprites: boolean; /** * with this option instead of using link element with href to load css, * we will try to parse the css text instead and send it as css rules set * can (and probably will) affect performance to certain degree, * especially if the css itself is crossdomain * @default false * */ inlineCss: InlineCssMode; } type Context = Window & typeof globalThis; type ContextCallback = (context: Context) => void; export default class TopObserver extends Observer { private readonly options; private readonly iframeOffsets; readonly app: App; constructor(params: { app: App; options: Partial; }); private readonly contextCallbacks; private readonly contextsSet; attachContextCallback(cb: ContextCallback): void; getDocumentOffset(doc: Document): Offset; private iframeObserversArr; private iframeObservers; private docObservers; private handleIframe; private shadowRootObservers; private handleShadowRoot; observe(): void; crossdomainObserve(rootNodeId: number, frameOder: number): void; disconnect(): void; } export {};