import { WritableSignal } from '@angular/core'; import { ValidatorFn } from '@angular/forms'; import { ComboboxOptions } from '../combobox'; import { SelectOptions } from '../select'; export type InlineFilterFieldType = 'input' | 'calendar' | 'select' | 'combobox'; export type InlineFilterInputType = | 'text' | 'number' | 'email' | 'tel' | 'url' | 'cpf' | 'cnpj' | 'currency'; export interface InlineFilterField { label: string; name: string; type: InlineFilterFieldType; inputType?: InlineFilterInputType; options?: SelectOptions | ComboboxOptions; hint?: string; placeholder?: string; validators?: ValidatorFn | ValidatorFn[]; multiple?: boolean; defaultValue?: any; editing?: boolean; templateValue: WritableSignal; value: WritableSignal; invalid: WritableSignal; loading: WritableSignal; } export interface InlineFilterConfig { fields: InlineFilterField[]; }