import { UploadProps } from 'antdv-next';
import { ClassValue, CSSProperties, PropType, StyleValue, VNodeChild } from 'vue';
import { SemanticType as FileCardSemanticType } from '../../file-card/FileCard';
import { SemanticType as FileCardListSemanticType } from '../../file-card/List';
import { FileCardProps } from '../../file-card';
type SemanticType = "list" | "upload";
export interface Attachment {
    uid: string;
    name: string;
    status?: "uploading" | "done" | "error" | "removed";
    url?: string;
    thumbUrl?: string;
    percent?: number;
    response?: any;
    size?: number;
    description?: VNodeChild;
    cardType?: FileCardProps["type"];
    originFileObj?: File;
    [key: string]: any;
}
export interface FileListProps {
    prefixCls: string;
    items: Attachment[];
    style?: StyleValue;
    onRemove: (item: Attachment) => void;
    overflow?: "scrollX" | "scrollY" | "wrap";
    upload: UploadProps;
    class?: ClassValue;
    classes?: Partial<Record<SemanticType | FileCardSemanticType | FileCardListSemanticType, string>>;
    styles?: Partial<Record<SemanticType | FileCardSemanticType | FileCardListSemanticType, CSSProperties>>;
}
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    prefixCls: {
        type: StringConstructor;
        required: true;
    };
    items: {
        type: PropType<Attachment[]>;
        default: () => never[];
    };
    style: {
        type: PropType<StyleValue>;
        default: undefined;
    };
    onRemove: {
        type: PropType<(item: Attachment) => void>;
        required: true;
    };
    overflow: {
        type: PropType<"scrollX" | "scrollY" | "wrap">;
        default: undefined;
    };
    upload: {
        type: PropType<UploadProps>;
        default: () => UploadProps;
    };
    class: {
        type: PropType<ClassValue>;
        default: undefined;
    };
    classes: {
        type: PropType<Partial<Record<SemanticType | FileCardSemanticType | FileCardListSemanticType, string>>>;
        default: () => {};
    };
    styles: {
        type: PropType<Partial<Record<SemanticType | FileCardSemanticType | FileCardListSemanticType, CSSProperties>>>;
        default: () => {};
    };
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    prefixCls: {
        type: StringConstructor;
        required: true;
    };
    items: {
        type: PropType<Attachment[]>;
        default: () => never[];
    };
    style: {
        type: PropType<StyleValue>;
        default: undefined;
    };
    onRemove: {
        type: PropType<(item: Attachment) => void>;
        required: true;
    };
    overflow: {
        type: PropType<"scrollX" | "scrollY" | "wrap">;
        default: undefined;
    };
    upload: {
        type: PropType<UploadProps>;
        default: () => UploadProps;
    };
    class: {
        type: PropType<ClassValue>;
        default: undefined;
    };
    classes: {
        type: PropType<Partial<Record<SemanticType | FileCardSemanticType | FileCardListSemanticType, string>>>;
        default: () => {};
    };
    styles: {
        type: PropType<Partial<Record<SemanticType | FileCardSemanticType | FileCardListSemanticType, CSSProperties>>>;
        default: () => {};
    };
}>> & Readonly<{}>, {
    overflow: "wrap" | "scrollX" | "scrollY";
    style: StyleValue;
    class: ClassValue;
    classes: Partial<Record<"name" | "icon" | "root" | "list" | "upload" | "file" | "description" | "card", string>>;
    styles: Partial<Record<"name" | "icon" | "root" | "list" | "upload" | "file" | "description" | "card", CSSProperties>>;
    items: Attachment[];
    upload: import('antdv-next/dist/upload/Upload').InternalUploadProps;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;
