import type { Ref, RenderFunction, SetupContext } from 'vue' import type { VxeTableEventProps, VxeTableInstance, VxeTableMethods, VxeTableProps, VxeTableSlots, } from 'vxe-table/types' import type { Column, ConditionInfo, RequestMethodParams, Row, RowData, RowOrRowid, TableHeaderControl, TablePaginationConfig, TreeTableProps, } from '../base' import type { ComponentBaseOptions, ComponentSlotType, DefineComponentApp, DefineComponentInstance, Merge, } from '../common' export declare const KTreeTable: DefineComponentApp export type KTreeTableInstance = DefineComponentInstance export interface KTreeTableConstructor extends ComponentBaseOptions, KTreeTableMethods { props: KTreeTableProps context: SetupContext getRefMaps(): KTreeTablePrivateRef getComputeMaps(): KTreeTablePrivateComputed renderVN: RenderFunction } export interface KTreeTablePrivateRef { refElem: Ref } export interface KTreeTablePrivateComputed { } export type KTreeTableProps = Merge export type KTreeTableEmits = Merge< { removeQuery: (query: string) => void serverPaging: (config: TablePaginationConfig) => void refresh: (params: RequestMethodParams) => void highlightClear: (row: Row) => void highlightChange: (row: Row, isHighlight: boolean) => void hideColumn: (column: Column) => void advancedFilterConfirm: (data: { conditionInfo: ConditionInfo; filterData: any[] }) => void advancedFilterClear: () => void pageCurrentChange: (pageNum: number) => void pageSizeChange: (pageSize: number) => void pageChange: (pageNum: number, pageSize: number) => void prevClick: (value: number) => void nextClick: (value: number) => void search: (params: RequestMethodParams) => void }, VxeTableEventProps > export interface KTreeTableSlots extends VxeTableSlots { description: (_: { total: number; conditionInfo: ConditionInfo }) => ComponentSlotType 'filter-trigger': (_: { isFilter: boolean }) => ComponentSlotType 'size-control-trigger': () => ComponentSlotType 'transfer-trigger': () => ComponentSlotType 'header-extra': () => ComponentSlotType 'card-content': (_: { row: RowData }) => ComponentSlotType 'card-header': (_: { row: RowData }) => ComponentSlotType 'card-footer': (_: { row: RowData }) => ComponentSlotType [key: PropertyKey]: (...args: any) => ComponentSlotType /** * 已废弃,请使用 filter-trigger * * @deprecated */ filterTrigger: (_: { isFilter: boolean }) => ComponentSlotType /** * 已废弃,请使用 size-control-trigger * * @deprecated */ sizeControlTrigger: () => ComponentSlotType /** * 已废弃,请使用 transfer-trigger * * @deprecated */ transferTrigger: () => ComponentSlotType } export interface KTreeTableMethods extends VxeTableMethods { tableInstance: Ref filter: (searchKey?: string) => void advancedFilter: (data?: RowData[]) => Promise<{ conditionInfo: ConditionInfo; data: any[] }> clearAdvancedFilter: () => Promise<{ conditionInfo: ConditionInfo; data: any[] }> getAdvancedCondition: () => ConditionInfo getVisibleData: () => RowData[] loadData: (data?: RowData[]) => Promise clearSearch: () => void refreshTableData: (isClearStatus?: boolean) => Promise disposeRowTooltip: () => void getCheckboxRecords: (isFull?: boolean, onlyVisible?: boolean) => RowData[] getHeaderControllerData: () => TableHeaderControl[] setHeaderControllerData: (data: TableHeaderControl[]) => void clearTableStatus: () => Promise refreshTableData: (isClearStatus?: boolean) => Promise resetPagination: () => void updatePageTotal: (total: number | ((currentTotal: number) => number)) => void getPathNodes: (row: RowOrRowid) => RowData[] getPathKeys: (row: RowOrRowid) => string[] getTreeRowLevel: (row: RowData) => number }