import { PropType } from 'vue';
import { DropdownItem } from '../../ele-dropdown/types';
import { Columns, TableSize, DataItem, SpanMethod, SummaryMethod, CellStyle, CellClass, HeaderCellStyle, HeaderCellClass, TreeProps } from '../../ele-data-table/types';
import { TableTool, TableLocale, FetchFunction, ExportConfig, PrintConfig, TableExportParams } from '../types';
import { ToolExportInstance, ToolPrintInstance } from '../props';

declare const _default: import('vue').DefineComponent<{
    /** 工具按钮布局 */
    tools: {
        type: PropType<TableTool[]>;
        required: true;
    };
    /** 表格尺寸 */
    size: StringConstructor;
    /** 表格列数据 */
    columns: PropType<Columns>;
    /** 是否开启列拖拽排序 */
    columnSortable: BooleanConstructor;
    /** 是否开启开关固定列 */
    columnFixed: BooleanConstructor;
    /** 是否最大化 */
    maximized: BooleanConstructor;
    /** 本地缓存的名称 */
    cacheKey: StringConstructor;
    /** 国际化 */
    locale: PropType<Partial<TableLocale>>;
    /** 表格选中数据 */
    selections: PropType<DataItem[]>;
    /** 表格当前页数据 */
    pageData: PropType<DataItem[]>;
    /** 单元格合并行列方法 */
    spanMethod: PropType<SpanMethod>;
    /** 表格是否有表头 */
    tableHeader: BooleanConstructor;
    /** 是否显示合计行 */
    showSummary: BooleanConstructor;
    /** 合计行文本 */
    sumText: StringConstructor;
    /** 合计行自定义方法 */
    summaryMethod: PropType<SummaryMethod>;
    /** 单元格样式 */
    cellStyle: PropType<CellStyle>;
    /** 单元格类名自定义 */
    cellClassName: PropType<CellClass>;
    /** 单元格样式 */
    headerCellStyle: PropType<HeaderCellStyle>;
    /** 单元格类名自定义 */
    headerCellClassName: PropType<HeaderCellClass>;
    /** 序号列起始索引 */
    pageIndex: NumberConstructor;
    /** 树表字段名 */
    treeProps: PropType<TreeProps>;
    /** 表格请求数据方法 */
    fetch: PropType<FetchFunction>;
    /** 导出配置 */
    exportConfig: {
        type: PropType<ExportConfig>;
        required: true;
    };
    /** 打印配置 */
    printConfig: {
        type: PropType<PrintConfig>;
        required: true;
    };
}, {
    ownSlots: string[];
    lang: import('vue').ComputedRef<TableLocale>;
    toolExportRef: import('vue').Ref<ToolExportInstance>;
    toolPrintRef: import('vue').Ref<ToolPrintInstance>;
    placement: import('vue').ComputedRef<"top" | "bottom">;
    sizeDropdownItems: import('vue').ComputedRef<DropdownItem[]>;
    reload: () => void;
    updateSize: (size: string) => void;
    updateColumns: (columns: Columns, tableColumns: Columns, isReset: boolean) => void;
    toggleMaximized: () => void;
    openExportModal: () => void;
    openPrintModal: () => void;
    printData: (params?: TableExportParams) => void;
    exportData: (params?: TableExportParams) => void;
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    reload: () => true;
    'update:size': (_size: TableSize) => true;
    'update:columns': (_columns: Columns, _tableColumns: Columns, _isReset: boolean) => true;
    'update:maximized': (_maximized: boolean) => true;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    /** 工具按钮布局 */
    tools: {
        type: PropType<TableTool[]>;
        required: true;
    };
    /** 表格尺寸 */
    size: StringConstructor;
    /** 表格列数据 */
    columns: PropType<Columns>;
    /** 是否开启列拖拽排序 */
    columnSortable: BooleanConstructor;
    /** 是否开启开关固定列 */
    columnFixed: BooleanConstructor;
    /** 是否最大化 */
    maximized: BooleanConstructor;
    /** 本地缓存的名称 */
    cacheKey: StringConstructor;
    /** 国际化 */
    locale: PropType<Partial<TableLocale>>;
    /** 表格选中数据 */
    selections: PropType<DataItem[]>;
    /** 表格当前页数据 */
    pageData: PropType<DataItem[]>;
    /** 单元格合并行列方法 */
    spanMethod: PropType<SpanMethod>;
    /** 表格是否有表头 */
    tableHeader: BooleanConstructor;
    /** 是否显示合计行 */
    showSummary: BooleanConstructor;
    /** 合计行文本 */
    sumText: StringConstructor;
    /** 合计行自定义方法 */
    summaryMethod: PropType<SummaryMethod>;
    /** 单元格样式 */
    cellStyle: PropType<CellStyle>;
    /** 单元格类名自定义 */
    cellClassName: PropType<CellClass>;
    /** 单元格样式 */
    headerCellStyle: PropType<HeaderCellStyle>;
    /** 单元格类名自定义 */
    headerCellClassName: PropType<HeaderCellClass>;
    /** 序号列起始索引 */
    pageIndex: NumberConstructor;
    /** 树表字段名 */
    treeProps: PropType<TreeProps>;
    /** 表格请求数据方法 */
    fetch: PropType<FetchFunction>;
    /** 导出配置 */
    exportConfig: {
        type: PropType<ExportConfig>;
        required: true;
    };
    /** 打印配置 */
    printConfig: {
        type: PropType<PrintConfig>;
        required: true;
    };
}>> & {
    "onUpdate:columns"?: ((_columns: Columns, _tableColumns: Columns, _isReset: boolean) => any) | undefined;
    onReload?: (() => any) | undefined;
    "onUpdate:size"?: ((_size: "" | "small" | "default" | "large" | undefined) => any) | undefined;
    "onUpdate:maximized"?: ((_maximized: boolean) => any) | undefined;
}, {
    showSummary: boolean;
    maximized: boolean;
    columnSortable: boolean;
    columnFixed: boolean;
    tableHeader: boolean;
}, {}>;
export default _default;
