/** A ref-like document target accepted by {@link useDocumentVisibility}. @public */ export type DocumentVisibilityRef = { readonly current: Document | null; }; /** A document, ref-like target, lazy target, or an empty target. @public */ export type DocumentVisibilityTarget = Document | DocumentVisibilityRef | (() => Document | null | undefined) | null | undefined; /** The visibility values exposed by the browser (plus the legacy prerender value). @public */ export type VisibilityState = DocumentVisibilityState | 'prerender'; /** Options for {@link useDocumentVisibility}. @public */ export interface UseDocumentVisibilityOptions { /** The document to observe. Defaults to the ambient document in a browser. */ readonly target?: DocumentVisibilityTarget; /** Alias for `target`, useful when passing a React ref. */ readonly ref?: DocumentVisibilityTarget; /** Disables the subscription and returns `visible` while false. */ readonly enabled?: boolean; /** Whether the native visibility listener is registered during capture. */ readonly capture?: boolean; } /** * Returns the current document visibility and shares one native subscription * for each document/capture pair. Server rendering and unavailable documents * deterministically return `visible`. * * @public */ export declare function useDocumentVisibility(): VisibilityState; /** @public */ export declare function useDocumentVisibility(options: UseDocumentVisibilityOptions): VisibilityState; /** @public */ export declare function useDocumentVisibility(target: DocumentVisibilityTarget, options?: Omit): VisibilityState;