export type GridTheme = "light" | "dark"; export type GridDensity = "comfortable" | "compact" | "dense"; export type GridSortDirection = "asc" | "desc"; export interface GridColumn { field: string; header: string; width?: string; sortable?: boolean; searchable?: boolean; filterable?: boolean; visible?: boolean; align?: "start" | "center" | "end"; formatter?: "text" | "number" | "date"; } export interface GridProps extends Record { columns?: GridColumn[]; rows?: Array>; columnFilters?: Record; columnOrder?: string[]; page?: number; pageSize?: number; pageSizes?: number[]; sortField?: string; sortDirection?: GridSortDirection; searchTerm?: string; searchable?: boolean; sortable?: boolean; striped?: boolean; hoverable?: boolean; density?: GridDensity; theme?: GridTheme; emptyLabel?: string; loading?: boolean; loadingLabel?: string; error?: boolean; errorMessage?: string; searchPlaceholder?: string; showToolbar?: boolean; enableColumnFilters?: boolean; showColumnControls?: boolean; virtualized?: boolean; viewportHeight?: number; rowHeight?: number; overscan?: number; } export interface GridChangeDetail { type: "search" | "sort" | "page" | "pageSize" | "row" | "filters" | "columns"; state: GridPublicState; row?: Record; } export interface GridPublicState { page: number; pageSize: number; totalRows: number; totalPages: number; sortField?: string; sortDirection?: GridSortDirection; searchTerm?: string; columnFilters?: Record; columnOrder?: string[]; } export declare function registerGridElement(): CustomElementConstructor | undefined; //# sourceMappingURL=grid.d.ts.map