/**
 * Waits for the DOM to be ready. Same as <script defer></script> or jQuery.ready().
 * Executes instantly if ready.
 *
 * @param {Function} callback - The function to execute when ready.
 */
export declare function defer(callback: () => void): void;
export declare const autofocusRef: (r: Element | undefined) => void;
export declare function whenParentsDefined(element: Element, prefix?: string): Promise<void>;
export declare const observeConnected: (target: Element, callback: (isConnected: boolean, target: Element) => void) => ResizeObserver;
export declare function whenConnected(target: Element): Promise<void>;
export declare function whenDocumentVisible(): Promise<void>;
export declare const defaultVisibilityCheckOptions: CheckVisibilityOptions;
export declare function untilVisibility(target: HTMLElement, visibility: boolean | undefined, options: CheckVisibilityOptions | undefined, callBack: (value: unknown) => void): void;
export declare function whenElementVisible(target: HTMLElement, visibility?: boolean, options?: CheckVisibilityOptions): Promise<void>;
export declare function isInShadowDom(node: Node): boolean;
export declare function supportsPopover(): boolean;
export declare function isPopoverPolyfilled(): boolean;
export declare function isDomAvailable(): boolean;
export declare function throwOnDomNotAvailable(): void;
//# sourceMappingURL=dom.d.ts.map