import { PropType } from 'vue';
import { ButtonType, ButtonColor, ButtonSize } from "../VcButton/VcButton.types";
import { FileUploaded } from './VcFileUploader.types';
declare const _default: import("vue").DefineComponent<{
    files: {
        type: ArrayConstructor;
        default: () => never[];
    };
    modelValue: {
        type: StringConstructor;
        default: string;
    };
    maxLength: {
        type: NumberConstructor;
        default: number;
    };
    accept: {
        type: StringConstructor;
        default: string;
    };
    tagIcon: {
        type: StringConstructor;
        default: string;
    };
    showFileName: {
        type: BooleanConstructor;
        default: boolean;
    };
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    noDataText: {
        type: StringConstructor;
        default: string;
    };
    fileSizeLimit: {
        type: NumberConstructor;
        default: null;
        description: string;
    };
    fileListSizeLimit: {
        type: NumberConstructor;
        default: null;
        description: string;
    };
    buttonType: {
        type: PropType<ButtonType>;
        default: string;
    };
    buttonIcon: {
        type: StringConstructor;
        default: string;
    };
    buttonColor: {
        type: PropType<ButtonColor>;
        default: string;
    };
    buttonSize: {
        type: PropType<ButtonSize>;
        default: string;
    };
    buttonText: {
        type: StringConstructor;
        default: string;
    };
    tagMaxContentWidth: {
        type: StringConstructor;
        default: string;
    };
}, unknown, {
    items: FileUploaded[];
    innerErrorText: string;
}, {
    errorText(): string;
    noFilesSelectedText(): string;
    uploadButtonText(): string;
}, {
    parseFiles(files: FileUploaded[] | FileList): void;
    onFileChange(e: Event): void;
    processFilesLength(files: FileUploaded[]): FileUploaded[];
    processFileSize(files: FileUploaded[]): FileUploaded[];
    onTagClose(index: number): void;
    triggerInputClick(): void;
}, import("vue").DefineComponent<{
    modelValue: {
        type: (StringConstructor | NumberConstructor)[];
        required: true;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    prefixIcon: {
        type: StringConstructor;
        default: string;
    };
    required: {
        type: BooleanConstructor;
        default: boolean;
    };
    label: {
        type: StringConstructor;
        default: string;
    };
    labelIcon: {
        type: StringConstructor;
        default: string;
    };
    dataTestName: {
        type: StringConstructor;
        default: string;
    };
    error: {
        type: StringConstructor;
        default: string;
    };
    dynamicErrorSpace: {
        type: BooleanConstructor;
        default: boolean;
    };
    prefixIconSize: {
        type: StringConstructor;
        default: string;
    };
    name: {
        type: StringConstructor;
        default: string;
    };
    id: {
        type: StringConstructor;
        default: undefined;
    };
    maxWidth: {
        type: StringConstructor;
        default: string;
    };
}, unknown, {
    defaultPrefixIcon: string;
    colorClass: string;
    iconColorClass: string;
}, {
    inputClasses(): string;
    setMaxWidth(): string;
    prefixIconColorValue(): string;
    prefixClasses(): string[];
    prefixIconColorIsHex(): boolean;
    prefixStyle(): {
        [key: string]: string | number | null | undefined;
    };
}, {}, import("vue").DefineComponent<{
    prefixIconColor: {
        type: PropType<import("../VcInput/VcInput.types").VcInputColor>;
        default: string;
    };
    color: {
        type: PropType<import("../VcInput/VcInput.types").VcInputColor>;
        default: string;
    };
}, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    prefixIconColor: {
        type: PropType<import("../VcInput/VcInput.types").VcInputColor>;
        default: string;
    };
    color: {
        type: PropType<import("../VcInput/VcInput.types").VcInputColor>;
        default: string;
    };
}>>, {
    prefixIconColor: import("../VcInput/VcInput.types").VcInputColor;
    color: import("../VcInput/VcInput.types").VcInputColor;
}>, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    modelValue: {
        type: (StringConstructor | NumberConstructor)[];
        required: true;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    prefixIcon: {
        type: StringConstructor;
        default: string;
    };
    required: {
        type: BooleanConstructor;
        default: boolean;
    };
    label: {
        type: StringConstructor;
        default: string;
    };
    labelIcon: {
        type: StringConstructor;
        default: string;
    };
    dataTestName: {
        type: StringConstructor;
        default: string;
    };
    error: {
        type: StringConstructor;
        default: string;
    };
    dynamicErrorSpace: {
        type: BooleanConstructor;
        default: boolean;
    };
    prefixIconSize: {
        type: StringConstructor;
        default: string;
    };
    name: {
        type: StringConstructor;
        default: string;
    };
    id: {
        type: StringConstructor;
        default: undefined;
    };
    maxWidth: {
        type: StringConstructor;
        default: string;
    };
}>>, {
    required: boolean;
    name: string;
    disabled: boolean;
    prefixIcon: string;
    label: string;
    labelIcon: string;
    dataTestName: string;
    error: string;
    dynamicErrorSpace: boolean;
    prefixIconSize: string;
    id: string;
    maxWidth: string;
}>, import("vue").ComponentOptionsMixin, ("update:modelValue" | "input")[], "update:modelValue" | "input", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    files: {
        type: ArrayConstructor;
        default: () => never[];
    };
    modelValue: {
        type: StringConstructor;
        default: string;
    };
    maxLength: {
        type: NumberConstructor;
        default: number;
    };
    accept: {
        type: StringConstructor;
        default: string;
    };
    tagIcon: {
        type: StringConstructor;
        default: string;
    };
    showFileName: {
        type: BooleanConstructor;
        default: boolean;
    };
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    noDataText: {
        type: StringConstructor;
        default: string;
    };
    fileSizeLimit: {
        type: NumberConstructor;
        default: null;
        description: string;
    };
    fileListSizeLimit: {
        type: NumberConstructor;
        default: null;
        description: string;
    };
    buttonType: {
        type: PropType<ButtonType>;
        default: string;
    };
    buttonIcon: {
        type: StringConstructor;
        default: string;
    };
    buttonColor: {
        type: PropType<ButtonColor>;
        default: string;
    };
    buttonSize: {
        type: PropType<ButtonSize>;
        default: string;
    };
    buttonText: {
        type: StringConstructor;
        default: string;
    };
    tagMaxContentWidth: {
        type: StringConstructor;
        default: string;
    };
}>> & {
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    onInput?: ((...args: any[]) => any) | undefined;
}, {
    modelValue: string;
    files: unknown[];
    maxLength: number;
    accept: string;
    tagIcon: string;
    showFileName: boolean;
    multiple: boolean;
    noDataText: string;
    fileSizeLimit: number;
    fileListSizeLimit: number;
    buttonType: ButtonType;
    buttonIcon: string;
    buttonColor: ButtonColor;
    buttonSize: ButtonSize;
    buttonText: string;
    tagMaxContentWidth: string;
}>;
export default _default;
