import type { IconName } from "@calcom/ui/components/icon/icon-names"; export type FilterType = "ss" | "ms" | "t" | "n" | "dr"; export type TextFilterOperator = "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "endsWith" | "isEmpty" | "isNotEmpty"; export type TextFilterOptions = { allowedOperators?: TextFilterOperator[]; placeholder?: string; }; export type DateRangeFilterOptions = { range?: "past" | "custom"; convertToTimeZone?: boolean; }; export type ColumnFilterMeta = | { type: Extract; icon?: IconName; dateRangeOptions?: DateRangeFilterOptions; } | { type: Extract; icon?: IconName; textOptions?: TextFilterOptions; } | { type?: Extract; icon?: IconName; }; export type FilterableColumn = { id: string; title: string; icon?: IconName; } & ( | { type: Extract; options: FacetedValue[]; } | { type: Extract; options: FacetedValue[]; } | { type: Extract; textOptions?: TextFilterOptions; } | { type: Extract; } | { type: Extract; dateRangeOptions?: DateRangeFilterOptions; } );