import { UploadFileStatus } from 'ant-design-vue/es/upload/interface';
import { UploadFileInfoOptions, UploadFileList, UploadFileType } from '../types';
import { SetupContext } from 'vue';
import { UploadEmits, UploadProps } from '../upload';
declare function handleFileList(files: UploadFileList[], options?: UploadFileInfoOptions): UploadFileType[];
export declare function useFileListConfig<P extends UploadProps, E extends UploadEmits>(props: Partial<P>, emit?: SetupContext<E>['emit']): {
    handleFileList: typeof handleFileList;
    fileListRef: import('vue').Ref<{
        originInfo?: {
            [x: string]: any;
            fileIcon?: string;
            fileName?: string;
            fileAddress?: string;
            url?: string;
            name?: string;
            createUserName?: string;
            insertTimeForHis?: string;
        };
        isImage?: boolean;
        uid: string;
        size?: number;
        name: string;
        fileName?: string;
        lastModified?: number;
        lastModifiedDate?: Date;
        url?: string;
        status?: UploadFileStatus;
        percent?: number;
        thumbUrl?: string;
        crossOrigin?: import('vue').ImgHTMLAttributes["crossorigin"];
        originFileObj?: {
            readonly lastModifiedDate: Date;
            uid: string;
            readonly lastModified: number;
            readonly name: string;
            readonly webkitRelativePath: string;
            readonly size: number;
            readonly type: string;
            arrayBuffer: () => Promise<ArrayBuffer>;
            bytes: () => Promise<Uint8Array>;
            slice: (start?: number, end?: number, contentType?: string) => Blob;
            stream: () => ReadableStream<Uint8Array>;
            text: () => Promise<string>;
        };
        response?: any;
        error?: any;
        linkProps?: any;
        type?: string;
        xhr?: any;
        preview?: string;
    }[], UploadFileType<any>[] | {
        originInfo?: {
            [x: string]: any;
            fileIcon?: string;
            fileName?: string;
            fileAddress?: string;
            url?: string;
            name?: string;
            createUserName?: string;
            insertTimeForHis?: string;
        };
        isImage?: boolean;
        uid: string;
        size?: number;
        name: string;
        fileName?: string;
        lastModified?: number;
        lastModifiedDate?: Date;
        url?: string;
        status?: UploadFileStatus;
        percent?: number;
        thumbUrl?: string;
        crossOrigin?: import('vue').ImgHTMLAttributes["crossorigin"];
        originFileObj?: {
            readonly lastModifiedDate: Date;
            uid: string;
            readonly lastModified: number;
            readonly name: string;
            readonly webkitRelativePath: string;
            readonly size: number;
            readonly type: string;
            arrayBuffer: () => Promise<ArrayBuffer>;
            bytes: () => Promise<Uint8Array>;
            slice: (start?: number, end?: number, contentType?: string) => Blob;
            stream: () => ReadableStream<Uint8Array>;
            text: () => Promise<string>;
        };
        response?: any;
        error?: any;
        linkProps?: any;
        type?: string;
        xhr?: any;
        preview?: string;
    }[]>;
    fileUrls: import('vue').ComputedRef<string[]>;
    fileInfos: Record<string, Partial<import('../types').UploadFileOriginInfo>>;
    isImageUrl: (file: UploadFileType) => boolean;
    isImageType: import('vue').ComputedRef<boolean>;
    fileListMap: Record<string, UploadFileType<any>>;
};
export {};
