export interface VisualViewportValues { height: number; offsetLeft: number; offsetTop: number; pageLeft: number; pageTop: number; scale: number; width: number; } /** * Mock-implementation of `VisualViewport` with ability to control state programmatically. * Useful for unit testing. * Can be used in any runtime that implements `EventTarget` (browsers, Node.js, Deno, Bun...). */ export declare class VisualViewportMock extends EventTarget implements VisualViewport { /** @inheritdoc */ readonly height: number; /** @inheritdoc */ readonly offsetLeft: number; /** @inheritdoc */ readonly offsetTop: number; /** @inheritdoc */ readonly pageLeft: number; /** @inheritdoc */ readonly pageTop: number; /** @inheritdoc */ readonly scale: number; /** @inheritdoc */ readonly width: number; protected _onresize: ((this: VisualViewport, event: Event) => any) | null; protected _onscroll: ((this: VisualViewport, event: Event) => any) | null; constructor(defaults?: Partial); /** @inheritdoc */ get onresize(): ((this: VisualViewport, event: Event) => any) | null; /** @inheritdoc */ set onresize(value: ((this: VisualViewport, event: Event) => any) | null); /** @inheritdoc */ get onscroll(): ((this: VisualViewport, event: Event) => any) | null; /** @inheritdoc */ set onscroll(value: ((this: VisualViewport, event: Event) => any) | null); /** @inheritdoc */ addEventListener(type: K, listener: (this: VisualViewport, event: VisualViewportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; /** @inheritdoc */ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; /** @inheritdoc */ removeEventListener(type: K, listener: (this: VisualViewport, event: VisualViewportEventMap[K]) => any, options?: boolean | EventListenerOptions): void; /** @inheritdoc */ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; /** * Sets numeric values. * @param values Values. */ protected setValues(values: Partial): void; /** * Dispatches `resize` event. If values provided then applies it before dispatching. * @param values Values. */ simulateResize(values?: Partial): void; /** * Dispatches `scroll` event. If values provided then applies it before dispatching. * @param values Values. */ simulateScroll(values?: Partial): void; }