import * as React from 'react';
import { type SimulateReactInputTargetState } from '../../lib/react';
import type { ChipOption, ChipOptionLabel, ChipOptionValue, GetNewOptionData, GetOptionLabel, GetOptionValue, UseChipsInputBaseProps } from '../ChipsInputBase/types';
export declare const transformValue: <O extends ChipOption>(value: O[], getOptionValue: GetOptionValue<O>, getOptionLabel: GetOptionLabel<O>) => Array<O & {
    label: ChipOptionLabel;
    value: ChipOptionValue;
}>;
export interface UseChipsInputProps<O extends ChipOption = ChipOption> extends UseChipsInputBaseProps<O> {
    /**
     * Селектор значения.
     */
    getOptionValue?: GetOptionValue<O>;
    /**
     * Селектор пользовательского представления.
     */
    getOptionLabel?: GetOptionLabel<O>;
    /**
     * Функция для создания новой опции.
     */
    getNewOptionData?: GetNewOptionData<O>;
}
export declare const useChipsInput: <O extends ChipOption>({ value: valueProp, defaultValue, onChange, getOptionLabel, getOptionValue, getNewOptionData, inputValue: inputValueProp, defaultInputValue, onInputChange: onInputChangeProp, disabled, delimiter, }: UseChipsInputProps<O>) => {
    value: Array<O & {
        label: ChipOptionLabel;
        value: ChipOptionValue;
    }>;
    addOption: (newValue: O | string) => void;
    addOptionFromInput: (inputValue: string) => void;
    removeOption: (newValue: O | ChipOptionValue) => void;
    clearOptions: () => void;
    inputRef: React.RefObject<(HTMLInputElement & SimulateReactInputTargetState) | null>;
    inputValue: string;
    onInputChange: (e: React.ChangeEvent<HTMLInputElement>, canCreate?: boolean) => any;
    clearInput: () => void;
};
//# sourceMappingURL=useChipsInput.d.ts.map