import { ChangeEvent, KeyboardEvent, RefObject } from 'react'; import { UseInputControlValueProps } from './useInputControlValue'; export type TagsType = string[] | number[]; export interface UseInputWithTagsModeValueProps extends UseInputControlValueProps { /** * The value of initial tags */ initialTagsValue?: string[]; /** * Maximum permitted length of the tags * @default 3 */ maxTagsLength?: number; /** * The change event handler of tags */ onTagsChange?: (tags: TagsType) => void; /** * The ref object of input element */ ref: RefObject; /** * Will skip `onKeyDown` calling if `true` * @default false */ skip?: boolean; /** * Maximum length of value on each tag * @default 8 */ tagValueMaxLength?: number; } export declare function useInputWithTagsModeValue(props: Omit, 'onChange'>): readonly [{ readonly tags: string[]; readonly typingValue: string; readonly tagsReachedMax: boolean; }, (event: ChangeEvent | null) => void, () => void, (tag: string) => void, (e: KeyboardEvent) => void];