import { EleDropdownInstance } from '../ele-app/plus';
import { DropdownItem } from '../ele-dropdown/types';
import { FileItem, SortValue, ItemContextMenuOption, ContextOpenOption, FileListLocale } from './types';

declare const _default: import('vue').DefineComponent<{
    data: {
        type: import('vue').PropType<FileItem[]>;
        required: boolean;
    };
    selectionType: import('vue').PropType<import('./types').SelectionType>;
    selections: import('vue').PropType<FileItem[]>;
    current: import('vue').PropType<FileItem>;
    grid: {
        type: BooleanConstructor;
        default: boolean;
    };
    sortable: BooleanConstructor;
    sort: StringConstructor;
    order: StringConstructor;
    icons: {
        type: import('vue').PropType<import('./types').IconItem[]>;
        default: () => import('./types').IconItem[];
    };
    smallIcons: import('vue').PropType<import('./types').IconItem[]>;
    columns: import('vue').PropType<import('./types').ColumnItem[]>;
    boxChoose: BooleanConstructor;
    contextMenus: import('vue').PropType<import('./types').ContextMenus>;
    contextMenuProps: import('vue').PropType<import('../ele-app/plus').EleDropdownProps>;
    locale: import('vue').PropType<Partial<FileListLocale>>;
}, {
    lang: import('vue').ComputedRef<FileListLocale>;
    selectorStyle: {
        top: string;
        left: string;
        width: string;
        height: string;
        display: string;
    };
    ctxMenuDropdownRef: import('vue').Ref<EleDropdownInstance>;
    ctxMenuDropdownItems: import('vue').ShallowRef<DropdownItem[]>;
    ctxMenuDropdownVirtualRef: import('vue').Ref<any>;
    ctxMenuDropdownVisible: import('vue').Ref<any>;
    contextMenuFileItem: import('vue').Ref<{
        [x: string]: unknown;
        [x: number]: unknown;
        [x: symbol]: unknown;
        key: string | number;
        name: string;
        url?: string | undefined;
        thumbnail?: string | undefined;
        isDirectory?: boolean | undefined;
        length?: string | undefined;
        updateTime?: string | undefined;
    } | null | undefined>;
    isCheckAll: import('vue').ComputedRef<boolean>;
    isIndeterminate: import('vue').ComputedRef<boolean>;
    handleCheckAllChange: () => void;
    handleItemCheckChange: (item: FileItem) => void;
    handleItemClick: (item: FileItem) => void;
    handleSortChange: (name: string) => void;
    handleItemContextMenu: (option: ItemContextMenuOption) => void;
    handleItemCtxMenuClick: (key: string) => void;
    handleItemCtxMenuVisible: (visible: boolean) => void;
    handleItemContextOpen: (option: ContextOpenOption) => void;
    handleMousedown: (event: MouseEvent) => void;
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    itemClick: (_item: FileItem) => boolean;
    sortChange: (_sorter: SortValue) => boolean;
    'update:selections': (_selection?: FileItem[]) => boolean;
    'update:current': (_current?: FileItem | null) => boolean;
    itemContextMenu: (_option: ItemContextMenuOption) => boolean;
    itemContextOpen: (_dropdownRef: EleDropdownInstance, _item: FileItem) => boolean;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    data: {
        type: import('vue').PropType<FileItem[]>;
        required: boolean;
    };
    selectionType: import('vue').PropType<import('./types').SelectionType>;
    selections: import('vue').PropType<FileItem[]>;
    current: import('vue').PropType<FileItem>;
    grid: {
        type: BooleanConstructor;
        default: boolean;
    };
    sortable: BooleanConstructor;
    sort: StringConstructor;
    order: StringConstructor;
    icons: {
        type: import('vue').PropType<import('./types').IconItem[]>;
        default: () => import('./types').IconItem[];
    };
    smallIcons: import('vue').PropType<import('./types').IconItem[]>;
    columns: import('vue').PropType<import('./types').ColumnItem[]>;
    boxChoose: BooleanConstructor;
    contextMenus: import('vue').PropType<import('./types').ContextMenus>;
    contextMenuProps: import('vue').PropType<import('../ele-app/plus').EleDropdownProps>;
    locale: import('vue').PropType<Partial<FileListLocale>>;
}>> & {
    onItemClick?: ((_item: FileItem) => any) | undefined;
    onSortChange?: ((_sorter: SortValue) => any) | undefined;
    "onUpdate:selections"?: ((_selection?: FileItem[] | undefined) => any) | undefined;
    "onUpdate:current"?: ((_current?: FileItem | null | undefined) => any) | undefined;
    onItemContextOpen?: ((_dropdownRef: EleDropdownInstance, _item: FileItem) => any) | undefined;
    onItemContextMenu?: ((_option: ItemContextMenuOption) => any) | undefined;
}, {
    grid: boolean;
    sortable: boolean;
    icons: import('./types').IconItem[];
    boxChoose: boolean;
}, {}>;
export default _default;
