export type ModalFieldType = 'text' | 'number' | 'select' | 'color' | 'textarea' | 'checkbox'; export interface ModalField { id: string; label: string; type: ModalFieldType; value?: any; placeholder?: string; min?: number; max?: number; step?: number; options?: { label: string; value: any; }[]; } export interface ModalAction { label: string; variant?: 'primary' | 'secondary' | 'danger'; onClick?: (data: Record, modal: Modal) => void | Promise; closeOnClick?: boolean; } export interface ModalOptions { title: string; description?: string; fields?: ModalField[]; confirmLabel?: string; cancelLabel?: string; actions?: ModalAction[]; width?: number; onConfirm?: (data: Record) => void; onClose?: () => void; bodyHtml?: string; } /** Lightweight, themed modal that supports forms, custom actions, and ESC/click-out close. */ export declare class Modal { private overlay; private fields; private opts; private bodyContainer; constructor(opts: ModalOptions); private buildField; collect(): Record; show(): this; close(): void; get body(): HTMLDivElement; }