import { type PropType, type ExtractPropTypes, MaybeRef } from 'vue'; import { TableColumnCtx, type PaginationProps } from 'element-plus'; import { type MayBeTableColumnProps } from './table-column/table-column.api'; import { type TableQueryExpose, type TableQueryProps } from './table-query/table-query.api'; import { TableStatisticsColumn } from './table-stats/table-stats.api'; export interface ToolbarConfig { reload?: boolean; export?: boolean | { filename: string; }; fullScreen?: boolean; setting?: boolean; } export declare const tableEmitEvents: string[]; export declare const tableEmitOnEvents: string[][]; export declare const tableEmitOnProps: Record any; }>; export declare const tableProps: { api: { type: PropType<((...args: any[]) => Promise | any) | boolean | null | undefined>; }; immediate: { type: BooleanConstructor; default: boolean; }; columns: { type: PropType; default: () => never[]; }; actionColumn: { type: PropType; }; pagination: { type: PropType; default: boolean; }; getExpose: { type: PropType<(expose: TableExpose) => void>; }; formProps: { type: PropType; }; transformParams: { type: PropType<(params: Record) => any>; }; transformResponse: { type: PropType<(res: any) => any>; }; parallelFetch: { type: PropType<((...args: any[]) => Promise | any) | boolean | null | undefined>; }; toolbarConfig: { type: PropType; default: boolean; }; keys: { type: PropType; }; statsColumns: { type: PropType>; }; statsData: { type: MaybeRef; }; summaryProperties: { type: PropType; }; transformSummary: { type: PropType<(sums: any[]) => any[]>; }; split: { type: BooleanConstructor; default: undefined; }; height: (NumberConstructor | StringConstructor)[]; maxHeight: (NumberConstructor | StringConstructor)[]; tableLayout: { type: PropType<"auto" | "fixed">; default: string; }; width: (NumberConstructor | StringConstructor)[]; border: BooleanConstructor; size: { readonly type: PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; data: { type: PropType; default: () => never[]; }; load: PropType["load"]>; className: { type: StringConstructor; default: string; }; emptyText: StringConstructor; sumText: StringConstructor; fit: { type: BooleanConstructor; default: boolean; }; lazy: BooleanConstructor; showOverflowTooltip: PropType["showOverflowTooltip"]>; tooltipFormatter: PropType["tooltipFormatter"]>; cellClassName: PropType["cellClassName"]>; indent: { type: NumberConstructor; default: number; }; rowStyle: PropType["rowStyle"]>; scrollbarAlwaysOn: BooleanConstructor; defaultExpandAll: BooleanConstructor; stripe: BooleanConstructor; rowKey: PropType["rowKey"]>; showHeader: { type: BooleanConstructor; default: boolean; }; showSummary: BooleanConstructor; summaryMethod: PropType["summaryMethod"]>; rowClassName: PropType["rowClassName"]>; cellStyle: PropType["cellStyle"]>; headerRowClassName: PropType["headerRowClassName"]>; headerRowStyle: PropType["headerRowStyle"]>; headerCellClassName: PropType["headerCellClassName"]>; headerCellStyle: PropType["headerCellStyle"]>; highlightCurrentRow: BooleanConstructor; currentRowKey: (NumberConstructor | StringConstructor)[]; expandRowKeys: PropType["expandRowKeys"]>; defaultSort: PropType["defaultSort"]>; tooltipEffect: StringConstructor; tooltipOptions: PropType["tooltipOptions"]>; spanMethod: PropType["spanMethod"]>; selectOnIndeterminate: { type: BooleanConstructor; default: boolean; }; treeProps: { type: PropType["treeProps"]>; default: () => { hasChildren: string; children: string; checkStrictly: boolean; }; }; flexible: BooleanConstructor; appendFilterPanelTo: StringConstructor; scrollbarTabindex: { type: (NumberConstructor | StringConstructor)[]; default: undefined; }; allowDragLastColumn: { type: BooleanConstructor; default: boolean; }; preserveExpandedContent: BooleanConstructor; nativeScrollbar: BooleanConstructor; }; export type TableProps = Partial>; export declare const omittedTableProps: keyof typeof tableProps; export interface TableSlots { default?: (props: Record) => any; append?: (props: Record) => any; empty?: (props: Record) => any; 'toolbar-left'?: (props: Record) => any; 'toolbar-right'?: (props: Record) => any; 'before-body'?: (props: Record) => any; 'before-body-plain'?: (props: Record) => any; 'before-table'?: (props: Record) => any; 'before-table-plain'?: (props: Record) => any; } export declare const elSlotsName: readonly ["default", "append", "empty"]; export interface TableCustomExpose { reload: () => void; expandAll: () => void; collapseAll: () => void; getFetchParams: () => Record; getFullFetchParams: () => Record; setData: (data: any[]) => void; getData: () => any[]; getRootEl: () => HTMLElement | null; getPagination: () => { page: number; pageSize: number; }; } export type TableExpose = TableCustomExpose & TableQueryExpose & { clearSelection: () => void; getSelectionRows: () => any[]; toggleRowSelection: (row: any, selected?: boolean, emitChange?: boolean, ignoreSelectable?: boolean) => void; toggleAllSelection: () => void; toggleRowExpansion: (row: any, expanded?: boolean) => void; setCurrentRow: (row: any) => void; clearSort: () => void; clearFilter: (columnKeys: any) => void; doLayout: () => void; sort: (prop: string, order: string) => void; scrollTo: (options: number | ScrollToOptions, yCoord?: number) => void; setScrollTop: (top?: number) => void; setScrollLeft: (left?: number) => void; columns: TableColumnCtx[]; updateKeyChildren: (key: string, data: any[]) => void; }; export declare const tableExposeKeys: string[]; export declare const defaultTableConfig: { keys: { /** * 响应数据对象中“列表数据”的 key */ list: string; /** * 响应数据对象中“总记录数”的 key */ total: string; /** * 请求url查询参数中“当前页数”的参数名 */ page: string; /** * 请求url查询参数中“每页条数”的参数名 */ pageSize: string; /** * 请求url查询参数中“排序列”的参数名 */ orderBy: string; /** * 请求url查询参数中“排序方向”的参数名 */ orderType: string; /** * 排序方向中“升序”的值 */ asc: string; /** * 排序方向中“降序”的值 */ desc: string; }; pagination: { layout: string; currentPage: number; pageSize: number; }; height: undefined; split: boolean; }; export interface TableConfig { keys?: { list?: string; total?: string; page?: string; pageSize?: string; orderBy?: string; orderType?: string; asc?: string; desc?: string; }; pagination?: Partial; height?: number | string; split?: boolean; }