import { ReactNode } from "react"; import { FieldPathByValue, FieldValues } from "react-hook-form"; import { type Props as SelectProps } from "react-select"; import { FormFieldLayoutProps } from "../common/FormFieldLayout.js"; type Equal = T1 extends T2 ? (T2 extends T1 ? true : false) : false; type OptionValueCodec = { optionToFieldValue: (option: TOption) => NonNullable; fieldValueToOption: (value: NonNullable) => TOption | null; }; type OptionValueCodecProps = Equal> extends true ? Partial> : OptionValueCodec; export declare function SelectFormField, TName extends FieldPathByValue = FieldPathByValue>({ name, options, required, disabled, size, renderOption, async, loadOptions, getOptionLabel, getOptionValue, placeholder, optionToFieldValue: maybeOptionToFieldValue, fieldValueToOption: maybeFieldValueToOption, ...layoutProps }: FormFieldLayoutProps & { name: TName; required?: boolean; disabled?: boolean; size?: "normal" | "small"; renderOption?: (option: TOption) => ReactNode; } & ({ async?: false; loadOptions?: undefined; options: readonly TOption[]; } | { async: true; loadOptions: (inputValue: string) => Promise; options?: undefined; }) & Pick, "getOptionLabel" | "getOptionValue" | "placeholder"> & OptionValueCodecProps): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=SelectFormField.d.ts.map