import { Ref, PropType } from 'vue'; type EmitFn = (...args: any[]) => void; export type ProcessPayloadFunction = (data: Record) => FormData; export type HttpRequest = (files: File[], config?: UploadConfig) => Promise; export interface UploadConfig { headers: Record; url?: string; isUploading: boolean; processPayload?: ProcessPayloadFunction; auto: boolean; } export interface IUploadProps { url?: string; headers: Record; isUploading: boolean; httpRequest?: HttpRequest; processPayload?: ProcessPayloadFunction; auto: boolean; multiple: boolean; } export type AddFileFunction = (files: FileList) => void; export interface IUploadFile { raw: File; id?: string; url?: string; name?: string; localURL?: string; } export declare const uploadProps: { url: { type: StringConstructor; default: string; }; headers: { type: ObjectConstructor; default(): {}; }; isUploading: { type: BooleanConstructor; default: boolean; }; httpRequest: { type: PropType; default: null; }; processPayload: { type: PropType; default: null; }; auto: { type: BooleanConstructor; default: boolean; }; multiple: { type: BooleanConstructor; default: boolean; }; }; export declare const uploadConfig: UploadConfig; export declare const mergeConfig: (propsData: Record) => UploadConfig; export declare const useUpload: (value: Ref, config: UploadConfig | undefined, httpRequestMethod: HttpRequest, emit: EmitFn) => { uploadFiles: () => Promise; progress: Ref; isUploadingLocal: Ref; }; export declare const uploadTemplateProps: { label: { type: StringConstructor; default: string; }; description: { type: StringConstructor; default: string; }; buttonLabel: { type: StringConstructor; default: string; }; buttonMoreLabel: { type: StringConstructor; default: string; }; list: { type: ArrayConstructor; default: () => never[]; }; hasFiles: { type: BooleanConstructor; default: boolean; }; onRemoved: { type: FunctionConstructor; default: () => void; }; openModal: { type: FunctionConstructor; default: () => void; }; uploading: { type: BooleanConstructor; default: boolean; }; progress: { type: NumberConstructor; default: number; }; errors: { type: ObjectConstructor; default(): {}; }; multiple: { type: BooleanConstructor; default: boolean; }; showAddMore: { type: BooleanConstructor; default: boolean; }; }; export {};