import { type VariantProps } from "class-variance-authority"; import { type ComponentPropsWithoutRef, type ReactNode } from "react"; import { type ControllerProps } from "react-hook-form"; declare const fieldWrapperVariants: (props?: ({ labelBehaviour?: "placeholder" | "floating" | null | undefined; size?: "sm" | "md" | "lg" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; type FieldCva = VariantProps; export type Option = { label: string; value: string | number; image?: string; leftItem?: ReactNode; rightItem?: ReactNode; disabled?: boolean; [k: string]: string | undefined | ReactNode; }; export type SingleProps = { multiple?: false; value?: Option | null; onChange: (v?: Option | null) => void; }; export type MultiProps = { multiple: true; value: Option[]; onChange: (v: Option[]) => void; }; export type ComboboxFieldProps = SingleProps & { id?: string; label?: string; items: Option[]; value?: Option | null; renderOption?: (option: Option, state: { focus: boolean; selected: boolean; disabled: boolean; }) => React.ReactNode; onChange: (value?: Option | null) => void; customFilter?: (items: Option[], query: string) => Option[]; getLabel?: (option: Option) => string | React.ReactElement; placeholder?: string; error?: string; hint?: string; className?: string; openOnFocus?: boolean; inputProps?: Omit, "id" | "value" | "onChange" | "placeholder" | "className" | "defaultValue">; virtualized?: boolean; virtualThreshold?: number; } & Pick; export declare function ComboboxField({ id, label, labelBehaviour, size, items, value, onChange, customFilter, placeholder, error, hint, renderOption, getLabel, openOnFocus, className, inputProps, virtualized, virtualThreshold, }: ComboboxFieldProps): import("react/jsx-runtime").JSX.Element; export type FormComboBoxFieldProps = Omit & { name: string; controller?: Pick; }; export declare function FormComboboxField({ name, controller, inputProps, items, ...restProps }: FormComboBoxFieldProps): import("react/jsx-runtime").JSX.Element; export {};