import type { FC, HTMLAttributes } from 'react'; import type { ExprNode, FieldMetadata } from './types'; export interface FilterInputProps extends Omit, 'children' | 'onChange'> { /** * Filter-field configurations driving the autocomplete. A few names are * **reserved** and auto-wired with design-system helpers — DS-supplied * callbacks **override** consumer values for the reserved slots, because * the field semantics (mask range, accepted chars, backend form) are fixed * by DS: * * - `status_code` — HTTP status code field (mask suggestions, format * validation, digit-or-X input filter, partial-input normalization). * * To opt out, use a different `name` and attach the factories * (`createStatusCodeSuggestions`, …) manually. */ fields?: FieldMetadata[]; value?: ExprNode | null; onChange?: (expression: ExprNode | null) => void; placeholder?: string; error?: boolean; /** * Field names whose values were rejected by the backend. Matching chips are * rendered with a value error (red). Purely presentational: conditions and * `onChange` output are unaffected, and the consumer is expected to render * its own message (e.g. an alert with the backend error text) and clear the * prop when the filter changes or the query succeeds. */ externalErrors?: string[]; /** * Notified whenever the set of validation messages FilterInput renders below * the input changes (empty array = no visible error). Lets a consumer avoid * stacking its own message (e.g. a backend-error alert) on top of one the * input already shows. Pass a stable (memoized) callback. */ onErrorsChange?: (errors: string[]) => void; showKeyboardHint?: boolean; } export declare const FilterInput: FC;