import type { AIConfig, LumenColumn } from './engine'; import type { CSSProperties, ReactNode } from 'react'; import type { LumenAppearance } from './hooks/useResolvedAppearance'; import type { LumenTheme } from './theme/defaultTheme'; /** Persist `done` analysis by stable row id + field + content fingerprint (skips redundant API spends on reload). */ export interface InferencePersistenceConfig { scope: string; storage?: 'sessionStorage' | 'localStorage'; } export interface GridProps> { /** Your rows; the grid is fully controlled — add/remove/update by changing this array from the parent. */ data: T[]; columns: LumenColumn[]; aiConfig?: AIConfig; /** * When set, cached `done` vision / rich-text results are written to **`sessionStorage`** (default) * or **`localStorage`** after analysis. On load, identical cells (**`getRowId`**, field & value) skip * new API rounds. Omit to keep analysis in-memory only this session without reload dedupe. */ inferencePersistence?: InferencePersistenceConfig; rowHeight?: number; height?: number; /** * **light** (default): built-in light palette. **dark**: built-in dark palette. * **system**: follows `prefers-color-scheme` (SSR defaults to light until hydrated). */ appearance?: LumenAppearance; theme?: Partial; getRowId?: (row: T) => string | number; onRowClick?: (row: T) => void; enableNLFilter?: boolean; enableInsightBar?: boolean; /** * Show the hover popover on image cells with description + tag chips. Defaults * to **`false`** — analysis still runs (so `ai_tag` filters keep working) but * the inspection UI stays hidden. Flip to **`true`** while building / auditing. */ enableVisionPopover?: boolean; /** Merged onto the outer wrapper (below theme defaults). Pair with Tailwind / CSS modules via `className`. */ className?: string; style?: CSSProperties; /** Targets the scrollport under the header. */ scrollAreaClassName?: string; scrollAreaStyle?: CSSProperties; /** Slot between NL/insight chrome and column headers (e.g. “Add row”, export actions). */ toolbar?: ReactNode; } export declare function Grid>(props: GridProps): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=LumenGrid.d.ts.map