import { Renderable, Value, TNode } from '@tempots/dom';
import { OverlayEffect } from '../theme';
export interface LightboxOptions {
    /** Whether clicking outside/Escape closes the lightbox (default: true) */
    dismissable?: Value<boolean>;
    /** Whether to show the close button in the top-end corner (default: true) */
    showCloseButton?: Value<boolean>;
    /** Overlay effect (default: 'opaque') */
    overlayEffect?: Value<OverlayEffect>;
    /** Container for the overlay: 'body' (default) or 'element' */
    container?: 'body' | 'element';
    /** Padding (in px) kept around content; content is capped by viewport minus padding (default: 32) */
    padding?: Value<number>;
}
/**
 * Lightbox overlay for displaying arbitrary content maximized and centered.
 * - Attaches via Portal to body by default
 * - Dark background via Overlay effect
 * - Fades in/out using the overlay's animated toggle
 * - Caps content to viewport (minus padding) and clips overflow; no transform scaling
 */
export declare function Lightbox(options: LightboxOptions, fn: (open: (content: TNode) => void, close: () => void) => TNode): Renderable;
