import { FilterOperator } from './table-properties-types.js'; /** * Semantic cell kind for a column — drives default filter icon, type, and * static option labels when `ColumnDef.filter` is omitted or partial. * * @see `resolveColumnFilter` in `column-filter.ts` * @see `apps/web/docs/table-column-cells-pattern.md` */ type ColumnCellKind = "person" | "people-rail" | "status" | "pill" | "tags" | "signal-bars" | "boolean" | "progress" | "rating" | "currency" | "numeric" | "attachment" | "external-link" | "relative-time" | "date" | "text"; type ColumnFilterSelectVariant = "default" | "person"; interface ColumnCellKindFilterPreset { type: "select" | "text" | "date" | "date-range" | "range"; icon: string; operators?: readonly FilterOperator[]; options?: { value: string; label: string; }[]; selectVariant?: ColumnFilterSelectVariant; /** When true and no explicit min/max — bounds come from the hub dataset. */ dataBounds?: boolean; rangeMin?: number; rangeMax?: number; rangeStep?: number; /** Suffix in filter UI, e.g. "%" for progress. */ rangeUnit?: string; } declare const COLUMN_CELL_KIND_FILTER_PRESETS: Record; declare function filterPresetForCellKind(kind: ColumnCellKind): ColumnCellKindFilterPreset; export { COLUMN_CELL_KIND_FILTER_PRESETS, type ColumnCellKind, type ColumnCellKindFilterPreset, type ColumnFilterSelectVariant, filterPresetForCellKind };