import type { QUploadPropValue, QUploadPropDirection, QUploadPropAccept, QUploadInstance } from './src/types';
import type { DefineComponent, PropType, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes } from 'vue';
import type { SFCWithInstall } from '../../../types/helpers';
export declare const QUpload: SFCWithInstall<DefineComponent<{
    value: {
        type: PropType<QUploadPropValue>;
        default: null;
    };
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    direction: {
        type: PropType<QUploadPropDirection>;
        default: string;
        validator: (value: string) => boolean;
    };
    limit: {
        type: NumberConstructor;
        default: null;
    };
    accept: {
        type: PropType<QUploadPropAccept>;
        default: () => never[];
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    clearable: {
        type: BooleanConstructor;
        default: boolean;
    };
    validateEvent: {
        type: BooleanConstructor;
        default: boolean;
    };
    textUploadFile: {
        type: StringConstructor;
        default: null;
    };
    textReplaceFile: {
        type: StringConstructor;
        default: null;
    };
    textLoadingFile: {
        type: StringConstructor;
        default: null;
    };
    textUploadedFiles: {
        type: StringConstructor;
        default: null;
    };
}, QUploadInstance, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("clear" | "select-all" | "abort" | "clear-all" | "select" | "exceed")[], "clear" | "select-all" | "abort" | "clear-all" | "select" | "exceed", VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
    value: {
        type: PropType<QUploadPropValue>;
        default: null;
    };
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    direction: {
        type: PropType<QUploadPropDirection>;
        default: string;
        validator: (value: string) => boolean;
    };
    limit: {
        type: NumberConstructor;
        default: null;
    };
    accept: {
        type: PropType<QUploadPropAccept>;
        default: () => never[];
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    clearable: {
        type: BooleanConstructor;
        default: boolean;
    };
    validateEvent: {
        type: BooleanConstructor;
        default: boolean;
    };
    textUploadFile: {
        type: StringConstructor;
        default: null;
    };
    textReplaceFile: {
        type: StringConstructor;
        default: null;
    };
    textLoadingFile: {
        type: StringConstructor;
        default: null;
    };
    textUploadedFiles: {
        type: StringConstructor;
        default: null;
    };
}>> & {
    onClear?: ((...args: any[]) => any) | undefined;
    "onSelect-all"?: ((...args: any[]) => any) | undefined;
    onAbort?: ((...args: any[]) => any) | undefined;
    "onClear-all"?: ((...args: any[]) => any) | undefined;
    onSelect?: ((...args: any[]) => any) | undefined;
    onExceed?: ((...args: any[]) => any) | undefined;
}, {
    disabled: boolean;
    validateEvent: boolean;
    clearable: boolean;
    value: QUploadPropValue;
    multiple: boolean;
    direction: QUploadPropDirection;
    textUploadFile: string;
    textReplaceFile: string;
    textLoadingFile: string;
    textUploadedFiles: string;
    limit: number;
    accept: QUploadPropAccept;
}>>;
export type { QUploadProps, QUploadFile, QUploadInstance } from './src/types';
