import { type ChangeEvent } from 'react';
import * as React from 'react';
import { type NativeSelectValue, type SelectValue } from '../../NativeSelect/NativeSelect';
import { type SelectProps } from '../CustomSelect';
type UseSelectedOptionControllerProps = Pick<SelectProps, 'value' | 'defaultValue'> & {
    isControlledOutside: boolean;
    allowClearButton: boolean;
    onChange?: (e: ChangeEvent<HTMLSelectElement>, newValue: SelectValue) => void;
};
export declare function useSelectedOptionController({ value, defaultValue, isControlledOutside, allowClearButton, onChange, }: UseSelectedOptionControllerProps): {
    selectedOptionValue: SelectValue;
    setSelectedOptionValue: React.Dispatch<React.SetStateAction<SelectValue>>;
    nativeSelectValue: NativeSelectValue;
    setNativeSelectValue: (newValue: NativeSelectValue) => void;
    onNativeSelectChange: React.ChangeEventHandler<HTMLSelectElement>;
};
export {};
//# sourceMappingURL=useSelectedOptionController.d.ts.map