import { CSSProperties, PropType, VNodeChild } from 'vue';
import { CardInfo, ExtendNode, FileCardSlotInfo, SemanticType } from '../FileCard';
export interface FileProps {
    styles?: Partial<Record<SemanticType, CSSProperties>>;
    classes?: Partial<Record<SemanticType, string>>;
    prefixCls?: string;
    name?: string;
    namePrefix?: string;
    ext?: string;
    size?: "small" | "default";
    byte?: number;
    src?: string;
    type?: string;
    description?: ExtendNode;
    icon?: VNodeChild;
    iconColor?: string;
    onClick?: (info: CardInfo, event: MouseEvent) => void;
    mask?: ExtendNode;
    descriptionRenderSlot?: (info: FileCardSlotInfo) => VNodeChild;
    maskRenderSlot?: (info: FileCardSlotInfo) => VNodeChild;
    iconSlot?: (info: FileCardSlotInfo) => VNodeChild;
}
declare const File: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    styles: {
        type: PropType<Partial<Record<SemanticType, CSSProperties>>>;
        default: () => {};
    };
    classes: {
        type: PropType<Partial<Record<SemanticType, string>>>;
        default: () => {};
    };
    prefixCls: {
        type: StringConstructor;
        default: string;
    };
    name: {
        type: StringConstructor;
        default: string;
    };
    namePrefix: {
        type: StringConstructor;
        default: string;
    };
    ext: {
        type: StringConstructor;
        default: string;
    };
    size: {
        type: PropType<"small" | "default">;
        default: string;
    };
    byte: {
        type: NumberConstructor;
        default: undefined;
    };
    src: {
        type: StringConstructor;
        default: undefined;
    };
    type: {
        type: StringConstructor;
        default: undefined;
    };
    description: {
        type: PropType<ExtendNode>;
        default: undefined;
    };
    icon: {
        type: PropType<VNodeChild>;
        default: undefined;
    };
    iconColor: {
        type: StringConstructor;
        default: undefined;
    };
    onClick: {
        type: PropType<(info: CardInfo, event: MouseEvent) => void>;
        default: undefined;
    };
    mask: {
        type: PropType<ExtendNode>;
        default: undefined;
    };
    descriptionRenderSlot: {
        type: PropType<FileProps["descriptionRenderSlot"]>;
        default: undefined;
    };
    maskRenderSlot: {
        type: PropType<FileProps["maskRenderSlot"]>;
        default: undefined;
    };
    iconSlot: {
        type: PropType<FileProps["iconSlot"]>;
        default: undefined;
    };
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    styles: {
        type: PropType<Partial<Record<SemanticType, CSSProperties>>>;
        default: () => {};
    };
    classes: {
        type: PropType<Partial<Record<SemanticType, string>>>;
        default: () => {};
    };
    prefixCls: {
        type: StringConstructor;
        default: string;
    };
    name: {
        type: StringConstructor;
        default: string;
    };
    namePrefix: {
        type: StringConstructor;
        default: string;
    };
    ext: {
        type: StringConstructor;
        default: string;
    };
    size: {
        type: PropType<"small" | "default">;
        default: string;
    };
    byte: {
        type: NumberConstructor;
        default: undefined;
    };
    src: {
        type: StringConstructor;
        default: undefined;
    };
    type: {
        type: StringConstructor;
        default: undefined;
    };
    description: {
        type: PropType<ExtendNode>;
        default: undefined;
    };
    icon: {
        type: PropType<VNodeChild>;
        default: undefined;
    };
    iconColor: {
        type: StringConstructor;
        default: undefined;
    };
    onClick: {
        type: PropType<(info: CardInfo, event: MouseEvent) => void>;
        default: undefined;
    };
    mask: {
        type: PropType<ExtendNode>;
        default: undefined;
    };
    descriptionRenderSlot: {
        type: PropType<FileProps["descriptionRenderSlot"]>;
        default: undefined;
    };
    maskRenderSlot: {
        type: PropType<FileProps["maskRenderSlot"]>;
        default: undefined;
    };
    iconSlot: {
        type: PropType<FileProps["iconSlot"]>;
        default: undefined;
    };
}>> & Readonly<{}>, {
    size: "small" | "default";
    name: string;
    prefixCls: string;
    mask: ExtendNode;
    icon: VNodeChild;
    type: string;
    classes: Partial<Record<SemanticType, string>>;
    styles: Partial<Record<SemanticType, CSSProperties>>;
    onClick: (info: CardInfo, event: MouseEvent) => void;
    description: ExtendNode;
    descriptionRenderSlot: ((info: FileCardSlotInfo) => VNodeChild) | undefined;
    maskRenderSlot: ((info: FileCardSlotInfo) => VNodeChild) | undefined;
    iconSlot: ((info: FileCardSlotInfo) => VNodeChild) | undefined;
    namePrefix: string;
    ext: string;
    byte: number;
    src: string;
    iconColor: string;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default File;
