import { PropType } from 'vue';
import { IconItem, FileItem, SelectionType, ContextOpenOption } from '../types';

declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    /** 文件数据 */
    data: PropType<FileItem[]>;
    /** 后缀对应的图标 */
    icons: PropType<IconItem[]>;
    /** 选择框类型 */
    selectionType: PropType<SelectionType>;
    /** 已选中的数据 */
    selections: PropType<FileItem[]>;
    /** 单选选中数据 */
    current: PropType<FileItem>;
    /** 是否是全选 */
    isCheckAll: BooleanConstructor;
    /** 是否是半选 */
    isIndeterminate: BooleanConstructor;
    /** 全选按钮文字 */
    checkAllText: StringConstructor;
    /** 选中后的文字 */
    selectedText: StringConstructor;
    /** 文件右键菜单是否打开 */
    ctxMenuDropdownVisible: BooleanConstructor;
    /** 当前打开的右键菜单对应的文件数据 */
    contextMenuFileItem: PropType<FileItem | null>;
}>, {
    headerText: import('vue').ComputedRef<string | undefined>;
    handleCheckAllChange: () => void;
    handleItemClick: (item: FileItem) => void;
    handleItemCheckChange: (item: FileItem) => void;
    handleItemContextOpen: (option: ContextOpenOption) => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    checkAllChange: () => true;
    itemClick: (_item: FileItem) => true;
    itemCheckChange: (_item: FileItem) => true;
    itemContextOpen: (_option: ContextOpenOption) => true;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    /** 文件数据 */
    data: PropType<FileItem[]>;
    /** 后缀对应的图标 */
    icons: PropType<IconItem[]>;
    /** 选择框类型 */
    selectionType: PropType<SelectionType>;
    /** 已选中的数据 */
    selections: PropType<FileItem[]>;
    /** 单选选中数据 */
    current: PropType<FileItem>;
    /** 是否是全选 */
    isCheckAll: BooleanConstructor;
    /** 是否是半选 */
    isIndeterminate: BooleanConstructor;
    /** 全选按钮文字 */
    checkAllText: StringConstructor;
    /** 选中后的文字 */
    selectedText: StringConstructor;
    /** 文件右键菜单是否打开 */
    ctxMenuDropdownVisible: BooleanConstructor;
    /** 当前打开的右键菜单对应的文件数据 */
    contextMenuFileItem: PropType<FileItem | null>;
}>> & Readonly<{
    onCheckAllChange?: (() => any) | undefined;
    onItemClick?: ((_item: FileItem) => any) | undefined;
    onItemCheckChange?: ((_item: FileItem) => any) | undefined;
    onItemContextOpen?: ((_option: ContextOpenOption) => any) | undefined;
}>, {
    ctxMenuDropdownVisible: boolean;
    isCheckAll: boolean;
    isIndeterminate: boolean;
}, {}, {
    ReceiverView: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
        wrapPosition: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>, {
        authenticated: import('vue').Ref<boolean, boolean>;
        watermark: string[];
    }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
        wrapPosition: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{}>, {
        wrapPosition: boolean;
    }, {}, {
        EleWatermark: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
            width: NumberConstructor;
            height: NumberConstructor;
            rotate: NumberConstructor;
            zIndex: NumberConstructor;
            image: StringConstructor;
            content: PropType<string | string[]>;
            font: PropType<import('../../ele-watermark/types').WatermarkFont>;
            gap: PropType<import('../../ele-watermark/types').WatermarkGap>;
            offset: PropType<import('../../ele-watermark/types').WatermarkOffset>;
            lineGap: {
                type: NumberConstructor;
                default: number;
            };
            customStyle: PropType<Exclude<import('../../ele-app/types').StyleValue, string>>;
            fixed: BooleanConstructor;
            wrapPosition: {
                type: BooleanConstructor;
                default: boolean;
            };
            disabled: BooleanConstructor;
        }>, {
            rootKey: import('vue').Ref<number, number>;
            rootRef: import('vue').Ref<HTMLDivElement | null, HTMLDivElement | null>;
            imgRef: import('vue').Ref<HTMLDivElement | null, HTMLDivElement | null>;
            imgStyle: import('vue').Ref<Partial<import('vue').CSSProperties>, Partial<import('vue').CSSProperties>>;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
            width: NumberConstructor;
            height: NumberConstructor;
            rotate: NumberConstructor;
            zIndex: NumberConstructor;
            image: StringConstructor;
            content: PropType<string | string[]>;
            font: PropType<import('../../ele-watermark/types').WatermarkFont>;
            gap: PropType<import('../../ele-watermark/types').WatermarkGap>;
            offset: PropType<import('../../ele-watermark/types').WatermarkOffset>;
            lineGap: {
                type: NumberConstructor;
                default: number;
            };
            customStyle: PropType<Exclude<import('../../ele-app/types').StyleValue, string>>;
            fixed: BooleanConstructor;
            wrapPosition: {
                type: BooleanConstructor;
                default: boolean;
            };
            disabled: BooleanConstructor;
        }>> & Readonly<{}>, {
            lineGap: number;
            fixed: boolean;
            wrapPosition: boolean;
            disabled: boolean;
        }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
    }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
    FileGridItem: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
        item: {
            type: PropType<FileItem>;
            required: true;
        };
        selectionType: PropType<SelectionType>;
        selections: PropType<FileItem[]>;
        current: PropType<FileItem>;
        icons: PropType<IconItem[]>;
        ctxMenuDropdownVisible: BooleanConstructor;
    }>, {
        dropdownTriggerRef: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
        selectable: import('vue').ComputedRef<boolean>;
        selected: import('vue').ComputedRef<boolean>;
        icon: import('vue').ComputedRef<string | undefined>;
        handleClick: () => void;
        handleCheckChange: () => void;
        handleContextmenu: (e: MouseEvent) => void;
    }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
        click: (_item: FileItem) => true;
        checkChange: (_item: FileItem) => true;
        contextOpen: (_option: ContextOpenOption) => true;
    }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
        item: {
            type: PropType<FileItem>;
            required: true;
        };
        selectionType: PropType<SelectionType>;
        selections: PropType<FileItem[]>;
        current: PropType<FileItem>;
        icons: PropType<IconItem[]>;
        ctxMenuDropdownVisible: BooleanConstructor;
    }>> & Readonly<{
        onClick?: ((_item: FileItem) => any) | undefined;
        onCheckChange?: ((_item: FileItem) => any) | undefined;
        onContextOpen?: ((_option: ContextOpenOption) => any) | undefined;
    }>, {
        ctxMenuDropdownVisible: boolean;
    }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;
