import * as dntShim from "../../../_dnt.shims.js"; declare function createClassListStub(): { add: () => void; remove: () => void; contains: () => false; toggle: () => false; }; /** * `style` stub — a plain bag (so `el.style.color = "red"` works) that also * carries the CSSOM methods libraries call during render (`setProperty`, * `getPropertyValue`, `removeProperty`). Without these, any lib that sets a CSS * custom property while rendering (Floating UI, Radix Presence, vaul) throws * "el.style.setProperty is not a function" on the server. */ declare function createStyleStub(): { setProperty: (propertyName?: string, value?: string, priority?: string) => void; getPropertyValue: (propertyName?: string) => string; removeProperty: (propertyName?: string) => string; item: (index?: number) => string; cssText: string; length: number; [key: string]: unknown; }; export declare function createElementStub(): { style: ReturnType; classList: ReturnType; dataset: Record; setAttribute: () => void; getAttribute: () => null; setAttributeNS: () => void; getAttributeNS: () => null; removeAttribute: () => void; hasAttribute: () => false; closest: () => null; matches: () => false; contains: () => false; focus: () => void; blur: () => void; click: () => void; scrollIntoView: () => void; getClientRects: () => []; remove: () => void; appendChild: () => void; removeChild: () => void; insertBefore: () => void; replaceChild: () => void; cloneNode: () => ReturnType; addEventListener: () => void; removeEventListener: () => void; querySelector: () => null; querySelectorAll: () => []; getBoundingClientRect: () => { top: number; left: number; right: number; bottom: number; width: number; height: number; }; offsetWidth: number; offsetHeight: number; scrollWidth: number; scrollHeight: number; clientWidth: number; clientHeight: number; innerHTML: string; outerHTML: string; textContent: string; innerText: string; children: []; childNodes: []; parentNode: null; parentElement: null; nextSibling: null; previousSibling: null; firstChild: null; lastChild: null; }; export declare function createDocumentStub(): { __veryfrontSSRStub: true; exitFullscreen: undefined; webkitExitFullscreen: undefined; mozCancelFullScreen: undefined; msExitFullscreen: undefined; fullscreenElement: null; webkitFullscreenElement: null; mozFullScreenElement: null; msFullscreenElement: null; createElement: () => ReturnType; createElementNS: () => ReturnType; createTextNode: () => { textContent: string; }; querySelector: () => null; querySelectorAll: () => []; getElementById: () => null; getElementsByClassName: () => []; getElementsByTagName: () => []; getElementsByName: () => []; documentElement: ReturnType; body: ReturnType; head: ReturnType; activeElement: null; hidden: false; visibilityState: "visible"; createDocumentFragment: () => ReturnType; createComment: () => { textContent: string; }; readyState: "complete"; cookie: string; domain: string; referrer: string; title: string; URL: string; location: { href: string; pathname: string; search: string; hash: string; }; addEventListener: () => void; removeEventListener: () => void; dispatchEvent: () => true; styleSheets: []; adoptedStyleSheets: []; }; export declare function createWindowStub(): { __veryfrontSSRStub: true; document: ReturnType; navigator: { userAgent: string; language: string; languages: string[]; platform: string; vendor: string; onLine: true; cookieEnabled: false; mediaDevices: { getUserMedia: () => Promise; }; }; location: { href: string; pathname: string; search: string; hash: string; origin: string; protocol: string; host: string; hostname: string; port: string; assign: () => void; replace: () => void; reload: () => void; }; history: { length: number; state: null; pushState: () => void; replaceState: () => void; go: () => void; back: () => void; forward: () => void; }; innerWidth: number; innerHeight: number; outerWidth: number; outerHeight: number; screenX: number; screenY: number; pageXOffset: number; pageYOffset: number; scrollX: number; scrollY: number; devicePixelRatio: number; setTimeout: typeof globalThis.setTimeout; clearTimeout: typeof globalThis.clearTimeout; setInterval: typeof globalThis.setInterval; clearInterval: typeof globalThis.clearInterval; requestAnimationFrame: (cb: () => void) => ReturnType; cancelAnimationFrame: typeof globalThis.clearTimeout; localStorage: { getItem: () => null; setItem: () => void; removeItem: () => void; clear: () => void; length: number; key: () => null; }; sessionStorage: { getItem: () => null; setItem: () => void; removeItem: () => void; clear: () => void; length: number; key: () => null; }; addEventListener: () => void; removeEventListener: () => void; dispatchEvent: () => true; matchMedia: (query: string) => { matches: false; media: string; onchange: null; addListener: () => void; removeListener: () => void; addEventListener: () => void; removeEventListener: () => void; dispatchEvent: () => true; }; getComputedStyle: () => { getPropertyValue: () => string; }; getSelection: () => null; print: () => void; alert: () => void; confirm: () => false; prompt: () => null; open: () => null; close: () => void; focus: () => void; blur: () => void; scroll: () => void; scrollTo: () => void; scrollBy: () => void; resizeTo: () => void; resizeBy: () => void; moveTo: () => void; moveBy: () => void; crypto: typeof dntShim.crypto; performance: typeof globalThis.performance; fetch: typeof globalThis.fetch; URL: typeof globalThis.URL; URLSearchParams: typeof globalThis.URLSearchParams; TextEncoder: typeof globalThis.TextEncoder; TextDecoder: typeof globalThis.TextDecoder; ResizeObserver: ReturnType; IntersectionObserver: ReturnType; MutationObserver: ReturnType; }; export declare function createElementClass(name: string): { new (): object; }; /** * Observer stub class for `ResizeObserver` / `IntersectionObserver` / * `MutationObserver`. Libraries that construct one eagerly (at module or render * scope, not inside an effect) otherwise throw "ResizeObserver is not defined" * during SSR. The instance carries the no-op observe/disconnect surface so a * lib that also *calls* those during render doesn't crash either. */ export declare function createObserverClass(name: string): { new (callback?: unknown): { observe: () => void; unobserve: () => void; disconnect: () => void; takeRecords: () => []; }; }; export {}; //# sourceMappingURL=dom-stubs.d.ts.map