import { ImageProps, SpinProps } from 'antdv-next';
import { ClassValue, CSSProperties, HTMLAttributes, PropType, StyleValue, VNodeChild } from 'vue';
export type SemanticType = "root" | "file" | "icon" | "name" | "description";
export type PresetIcons = "default" | "excel" | "image" | "markdown" | "pdf" | "ppt" | "word" | "zip" | "video" | "audio" | "java" | "javascript" | "python";
export type FileCardTypeValue = "file" | "image" | "audio" | "video";
export type CardInfo = {
    size: string;
    icon: VNodeChild;
    namePrefix?: string;
    nameSuffix?: string;
    name?: string;
    src?: string;
    type?: string;
};
export type ExtendNode = false | VNodeChild | ((info: CardInfo) => VNodeChild);
export interface FileCardSlotInfo {
    info: CardInfo;
    originNode: VNodeChild;
}
export type FileCardSpinProps = SpinProps & {
    showText?: boolean;
    icon?: VNodeChild;
};
export interface FileCardProps extends Omit<HTMLAttributes, "onClick" | "class" | "style"> {
    prefixCls?: string;
    style?: StyleValue;
    styles?: Partial<Record<SemanticType, CSSProperties>>;
    class?: ClassValue;
    classes?: Partial<Record<SemanticType, string>>;
    rootClass?: string;
    key?: string | number;
    name: string;
    byte?: number;
    size?: "small" | "default";
    description?: ExtendNode;
    loading?: boolean;
    src?: string;
    mask?: ExtendNode;
    icon?: VNodeChild;
    type?: string;
    imageProps?: ImageProps;
    spinProps?: FileCardSpinProps;
    videoProps?: Record<string, any>;
    audioProps?: Record<string, any>;
    onClick?: (info: CardInfo, event: MouseEvent) => void;
}
export declare const XFileCard: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    prefixCls: {
        type: StringConstructor;
        default: string;
    };
    style: {
        type: PropType<StyleValue>;
        default: undefined;
    };
    styles: {
        type: PropType<Partial<Record<SemanticType, CSSProperties>>>;
        default: () => {};
    };
    class: {
        type: PropType<ClassValue>;
        default: undefined;
    };
    classes: {
        type: PropType<Partial<Record<SemanticType, string>>>;
        default: () => {};
    };
    rootClass: {
        type: StringConstructor;
        default: string;
    };
    name: {
        type: StringConstructor;
        required: true;
    };
    byte: {
        type: NumberConstructor;
        default: undefined;
    };
    size: {
        type: PropType<"small" | "default">;
        default: string;
    };
    description: {
        type: PropType<ExtendNode>;
        default: undefined;
    };
    loading: {
        type: BooleanConstructor;
        default: boolean;
    };
    src: {
        type: StringConstructor;
        default: undefined;
    };
    mask: {
        type: PropType<ExtendNode>;
        default: undefined;
    };
    icon: {
        type: PropType<VNodeChild>;
        default: undefined;
    };
    type: {
        type: StringConstructor;
        default: undefined;
    };
    imageProps: {
        type: PropType<ImageProps>;
        default: undefined;
    };
    spinProps: {
        type: PropType<FileCardSpinProps>;
        default: undefined;
    };
    videoProps: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
    audioProps: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
    onClick: {
        type: PropType<(info: CardInfo, event: MouseEvent) => void>;
        default: undefined;
    };
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    prefixCls: {
        type: StringConstructor;
        default: string;
    };
    style: {
        type: PropType<StyleValue>;
        default: undefined;
    };
    styles: {
        type: PropType<Partial<Record<SemanticType, CSSProperties>>>;
        default: () => {};
    };
    class: {
        type: PropType<ClassValue>;
        default: undefined;
    };
    classes: {
        type: PropType<Partial<Record<SemanticType, string>>>;
        default: () => {};
    };
    rootClass: {
        type: StringConstructor;
        default: string;
    };
    name: {
        type: StringConstructor;
        required: true;
    };
    byte: {
        type: NumberConstructor;
        default: undefined;
    };
    size: {
        type: PropType<"small" | "default">;
        default: string;
    };
    description: {
        type: PropType<ExtendNode>;
        default: undefined;
    };
    loading: {
        type: BooleanConstructor;
        default: boolean;
    };
    src: {
        type: StringConstructor;
        default: undefined;
    };
    mask: {
        type: PropType<ExtendNode>;
        default: undefined;
    };
    icon: {
        type: PropType<VNodeChild>;
        default: undefined;
    };
    type: {
        type: StringConstructor;
        default: undefined;
    };
    imageProps: {
        type: PropType<ImageProps>;
        default: undefined;
    };
    spinProps: {
        type: PropType<FileCardSpinProps>;
        default: undefined;
    };
    videoProps: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
    audioProps: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
    onClick: {
        type: PropType<(info: CardInfo, event: MouseEvent) => void>;
        default: undefined;
    };
}>> & Readonly<{}>, {
    size: "small" | "default";
    prefixCls: string;
    mask: ExtendNode;
    style: StyleValue;
    icon: VNodeChild;
    loading: boolean;
    type: string;
    rootClass: string;
    class: ClassValue;
    classes: Partial<Record<SemanticType, string>>;
    styles: Partial<Record<SemanticType, CSSProperties>>;
    onClick: (info: CardInfo, event: MouseEvent) => void;
    description: ExtendNode;
    byte: number;
    src: string;
    spinProps: FileCardSpinProps;
    imageProps: ImageProps;
    videoProps: Record<string, any>;
    audioProps: Record<string, any>;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default XFileCard;
