import { type PropType } from 'vue';
import { type ComboboxData } from '../Combobox';
export interface TagsInputProps {
    modelValue?: string[];
    value?: string[];
    defaultValue?: string[];
    data?: ComboboxData<string>;
    onChange?: (value: string[]) => void;
    onRemove?: (value: string) => void;
    onClear?: () => void;
    maxTags?: number;
    onMaxTags?: (value: string) => void;
    allowDuplicates?: boolean;
    onDuplicate?: (value: string) => void;
    splitChars?: string[];
    acceptValueOnBlur?: boolean;
    isDuplicate?: (value: string, values: string[]) => boolean;
    [key: string]: any;
}
export declare function getSplittedTags({ value, splitChars, currentTags, allowDuplicates, maxTags, isDuplicate, onDuplicate, }: any): string[];
export declare const TagsInput: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    modelValue: PropType<string[]>;
    value: PropType<string[]>;
    defaultValue: {
        type: PropType<string[]>;
        default: () => never[];
    };
    data: {
        type: PropType<ComboboxData<string>>;
        default: () => never[];
    };
    onChange: PropType<(value: string[]) => void>;
    onRemove: PropType<(value: string) => void>;
    onClear: PropType<() => void>;
    maxTags: {
        type: NumberConstructor;
        default: number;
    };
    onMaxTags: PropType<(value: string) => void>;
    allowDuplicates: BooleanConstructor;
    onDuplicate: PropType<(value: string) => void>;
    splitChars: {
        type: PropType<string[]>;
        default: () => string[];
    };
    acceptValueOnBlur: {
        type: BooleanConstructor;
        default: boolean;
    };
    isDuplicate: PropType<(value: string, values: string[]) => boolean>;
    searchValue: StringConstructor;
    defaultSearchValue: StringConstructor;
    onSearchChange: PropType<(value: string) => void>;
    clearable: BooleanConstructor;
    hiddenInputValuesDivider: {
        type: StringConstructor;
        default: string;
    };
    hiddenInputProps: ObjectConstructor;
    nothingFoundMessage: {
        type: PropType<any>;
        default: undefined;
    };
    filter: PropType<any>;
    limit: NumberConstructor;
    withScrollArea: {
        type: BooleanConstructor;
        default: boolean;
    };
    maxDropdownHeight: (NumberConstructor | StringConstructor)[];
    dropdownOpened: {
        type: BooleanConstructor;
        default: undefined;
    };
    defaultDropdownOpened: BooleanConstructor;
    onDropdownOpen: PropType<() => void>;
    onDropdownClose: PropType<() => void>;
    onOptionSubmit: PropType<(value: string) => void>;
    comboboxProps: ObjectConstructor;
    renderOption: PropType<any>;
    renderPill: PropType<any>;
    scrollAreaProps: ObjectConstructor;
    openOnFocus: {
        type: BooleanConstructor;
        default: boolean;
    };
    selectFirstOptionOnDropdownOpen: BooleanConstructor;
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>[], {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "update:searchValue")[], "update:modelValue" | "update:searchValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    modelValue: PropType<string[]>;
    value: PropType<string[]>;
    defaultValue: {
        type: PropType<string[]>;
        default: () => never[];
    };
    data: {
        type: PropType<ComboboxData<string>>;
        default: () => never[];
    };
    onChange: PropType<(value: string[]) => void>;
    onRemove: PropType<(value: string) => void>;
    onClear: PropType<() => void>;
    maxTags: {
        type: NumberConstructor;
        default: number;
    };
    onMaxTags: PropType<(value: string) => void>;
    allowDuplicates: BooleanConstructor;
    onDuplicate: PropType<(value: string) => void>;
    splitChars: {
        type: PropType<string[]>;
        default: () => string[];
    };
    acceptValueOnBlur: {
        type: BooleanConstructor;
        default: boolean;
    };
    isDuplicate: PropType<(value: string, values: string[]) => boolean>;
    searchValue: StringConstructor;
    defaultSearchValue: StringConstructor;
    onSearchChange: PropType<(value: string) => void>;
    clearable: BooleanConstructor;
    hiddenInputValuesDivider: {
        type: StringConstructor;
        default: string;
    };
    hiddenInputProps: ObjectConstructor;
    nothingFoundMessage: {
        type: PropType<any>;
        default: undefined;
    };
    filter: PropType<any>;
    limit: NumberConstructor;
    withScrollArea: {
        type: BooleanConstructor;
        default: boolean;
    };
    maxDropdownHeight: (NumberConstructor | StringConstructor)[];
    dropdownOpened: {
        type: BooleanConstructor;
        default: undefined;
    };
    defaultDropdownOpened: BooleanConstructor;
    onDropdownOpen: PropType<() => void>;
    onDropdownClose: PropType<() => void>;
    onOptionSubmit: PropType<(value: string) => void>;
    comboboxProps: ObjectConstructor;
    renderOption: PropType<any>;
    renderPill: PropType<any>;
    scrollAreaProps: ObjectConstructor;
    openOnFocus: {
        type: BooleanConstructor;
        default: boolean;
    };
    selectFirstOptionOnDropdownOpen: BooleanConstructor;
}>> & Readonly<{
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    "onUpdate:searchValue"?: ((...args: any[]) => any) | undefined;
}>, {
    data: ComboboxData<string>;
    defaultValue: string[];
    clearable: boolean;
    withScrollArea: boolean;
    nothingFoundMessage: any;
    dropdownOpened: boolean;
    defaultDropdownOpened: boolean;
    selectFirstOptionOnDropdownOpen: boolean;
    openOnFocus: boolean;
    hiddenInputValuesDivider: string;
    maxTags: number;
    allowDuplicates: boolean;
    splitChars: string[];
    acceptValueOnBlur: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
