export declare function waitForDOM(): Promise; export interface CreateElementLocatorArgs { onElementFound: (element: Element) => void; selector: string; observerOptions?: IntersectionObserverInit; mustMatch?: (element: Element) => boolean; } export declare function createElementLocator({ onElementFound, selector, observerOptions, mustMatch, }: CreateElementLocatorArgs): MutationObserver; export interface CreateLocationObserverArgs { onLocationChange: (location: Location) => void; fireOnInit?: boolean; } export declare function createLocationObserver({ onLocationChange, fireOnInit, }: CreateLocationObserverArgs): () => void; export declare function findNearestElement(origin: HTMLElement, selector: string): HTMLElement | null; export interface CreateHrefObserverArgs { element: HTMLAnchorElement; onHrefChange: (href: string) => void; } export declare function createHrefObserver({ element, onHrefChange, }: CreateHrefObserverArgs): () => void;