import { type ReactNode, type HTMLAttributes } from "react";
import { Control, FieldValues, Path } from "react-hook-form";
export interface CameraSelectOption {
    id: string | number;
    label: string;
}
export interface FormCameraSelectProps<TFieldValues extends FieldValues = FieldValues, TOption extends CameraSelectOption = CameraSelectOption> {
    control: Control<TFieldValues>;
    name: Path<TFieldValues>;
    label?: string;
    options: TOption[];
    loading?: boolean;
    onSearchChange?: (searchTerm: string) => void;
    placeholder?: string;
    helperText?: string;
    renderOption?: (props: HTMLAttributes<HTMLLIElement>, option: TOption, selected: boolean) => ReactNode;
    getOptionLabel?: (option: TOption) => string;
    isOptionEqualToValue?: (option: TOption, value: TOption) => boolean;
    noOptionsText?: string;
    loadingText?: string;
    disabled?: boolean;
    required?: boolean;
    fullWidth?: boolean;
    className?: string;
}
