import { TNode, Value } from '@tempots/dom'; import { ControlSize } from '../theme'; /** * Options for the {@link LoadingOverlay} component. */ export interface LoadingOverlayOptions { /** Whether the overlay is visible. @default false */ visible: Value; /** Optional message to display below the spinner. */ message?: Value; /** Size of the spinner icon. @default 'lg' */ size?: Value; } /** * A semi-transparent overlay with a centered loading spinner. * * Place inside a container with `position: relative` to cover its content. * When `visible` is false, the overlay is removed from the DOM entirely. * * @example * ```ts * html.div( * attr.style('position: relative'), * LoadingOverlay({ visible: loading, message: 'Loading data...' }), * // ... content underneath * ) * ``` */ export declare function LoadingOverlay(options: LoadingOverlayOptions): TNode;