import { ReactElement, ReactNode } from 'react';
import { FieldPath, FieldPathValue, FieldValues, Validate } from 'react-hook-form';
export interface SelectOptionObject {
    toString(): string;
    compareTo?(selectOption: unknown): boolean;
}
export type PageFormCreatableSelectProps<TFieldValues extends FieldValues = FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {
    id?: string;
    name: TFieldName;
    label: string;
    labelHelp?: string | string[] | ReactNode;
    labelHelpTitle?: string;
    additionalControls?: ReactElement;
    placeholderText?: string;
    options: {
        value: string;
        label: string;
    }[];
    isReadOnly?: boolean;
    isRequired?: boolean;
    validate?: Validate<FieldPathValue<TFieldValues, TFieldName>, TFieldValues> | Record<string, Validate<FieldPathValue<TFieldValues, TFieldName>, TFieldValues>>;
    shouldUnregister?: boolean;
    isMulti?: boolean;
    toggleButtonId?: string;
};
export declare function PageFormCreatableSelect<TFieldValues extends FieldValues = FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(props: PageFormCreatableSelectProps<TFieldValues, TFieldName>): import("react/jsx-runtime").JSX.Element;
