import { PropType } from 'vue';
import { VaFile } from './types';
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
    fileTypes: {
        type: StringConstructor;
        default: string;
    };
    dropzone: {
        type: BooleanConstructor;
        default: boolean;
    };
    hideFileList: {
        type: BooleanConstructor;
        default: boolean;
    };
    color: {
        type: StringConstructor;
        default: string;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    undo: {
        type: BooleanConstructor;
        default: boolean;
    };
    undoDuration: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    undoButtonText: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    dropZoneText: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    uploadButtonText: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    deletedFileMessage: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    fileIncorrectMessage: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    modelValue: {
        type: PropType<VaFile | VaFile[]>;
        default: () => never[];
    };
    type: {
        type: PropType<"list" | "single" | "gallery">;
        default: string;
        validator: (value: string) => boolean;
    };
    file: {
        type: PropType<import("./types").ConvertedFile>;
        required: true;
        default: import("./types").ConvertedFile | undefined;
    };
    onRemove: {
        type: PropType<(...args: any[]) => any>;
        required: true;
        default: ((...args: any[]) => any) | undefined;
    };
    ariaRemoveFileLabel: {
        type: PropType<NonNullable<NonNullable<import("../../composables").TranslationProp | undefined> | undefined>>;
        required: true;
        default: NonNullable<import("../../composables").TranslationProp | undefined> | undefined;
    };
    onRemoveSingle: {
        type: PropType<(...args: any[]) => any>;
        required: true;
        default: ((...args: any[]) => any) | undefined;
    };
    files: {
        type: PropType<VaFile[]>;
        required: true;
        default: VaFile[] | undefined;
    };
    preset: {
        type: PropType<import("../../composables").PresetPropValue>;
        default: undefined;
    };
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:modelValue": (...args: any[]) => void;
    "file-removed": (...args: any[]) => void;
    "file-added": (...args: any[]) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    fileTypes: {
        type: StringConstructor;
        default: string;
    };
    dropzone: {
        type: BooleanConstructor;
        default: boolean;
    };
    hideFileList: {
        type: BooleanConstructor;
        default: boolean;
    };
    color: {
        type: StringConstructor;
        default: string;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    undo: {
        type: BooleanConstructor;
        default: boolean;
    };
    undoDuration: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    undoButtonText: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    dropZoneText: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    uploadButtonText: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    deletedFileMessage: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    fileIncorrectMessage: {
        type: PropType<import("../../composables").TranslationProp>;
        default: import("../../composables").TranslationProp;
    };
    modelValue: {
        type: PropType<VaFile | VaFile[]>;
        default: () => never[];
    };
    type: {
        type: PropType<"list" | "single" | "gallery">;
        default: string;
        validator: (value: string) => boolean;
    };
    file: {
        type: PropType<import("./types").ConvertedFile>;
        required: true;
        default: import("./types").ConvertedFile | undefined;
    };
    onRemove: {
        type: PropType<(...args: any[]) => any>;
        required: true;
        default: ((...args: any[]) => any) | undefined;
    };
    ariaRemoveFileLabel: {
        type: PropType<NonNullable<NonNullable<import("../../composables").TranslationProp | undefined> | undefined>>;
        required: true;
        default: NonNullable<import("../../composables").TranslationProp | undefined> | undefined;
    };
    onRemoveSingle: {
        type: PropType<(...args: any[]) => any>;
        required: true;
        default: ((...args: any[]) => any) | undefined;
    };
    files: {
        type: PropType<VaFile[]>;
        required: true;
        default: VaFile[] | undefined;
    };
    preset: {
        type: PropType<import("../../composables").PresetPropValue>;
        default: undefined;
    };
}>> & {
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    "onFile-removed"?: ((...args: any[]) => any) | undefined;
    "onFile-added"?: ((...args: any[]) => any) | undefined;
}, {
    type: "list" | "single" | "gallery";
    modelValue: VaFile | VaFile[];
    preset: import("../../composables").PresetPropValue;
    color: string;
    undo: boolean;
    dropzone: boolean;
    disabled: boolean;
    file: import("./types").ConvertedFile;
    onRemove: (...args: any[]) => any;
    ariaRemoveFileLabel: NonNullable<NonNullable<import("../../composables").TranslationProp | undefined> | undefined>;
    onRemoveSingle: (...args: any[]) => any;
    files: VaFile[];
    fileTypes: string;
    hideFileList: boolean;
    undoDuration: string | number;
    undoButtonText: import("../../composables").TranslationProp;
    dropZoneText: import("../../composables").TranslationProp;
    uploadButtonText: import("../../composables").TranslationProp;
    deletedFileMessage: import("../../composables").TranslationProp;
    fileIncorrectMessage: import("../../composables").TranslationProp;
}, {}>, {
    default?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
