import { TemplateRef } from '@angular/core'; import type { DataTableCellComponent } from './data-table-cell.component'; import type { DataTableRowComponent } from './data-table-row.component'; import type { TableThComponent } from './table/head/th/th.component'; import type { DataTableColumnTmplComponent } from './tmpl/data-table-column-tmpl.component'; export interface CellSelectedEventArg { rowIndex: number; colIndex: number; column: DataTableColumnTmplComponent; rowItem: any; cellComponent: DataTableCellComponent; rowComponent: DataTableRowComponent; } export declare enum SortDirection { ASC = "ASC", DESC = "DESC", default = "" } export interface RowSelectedEventArg { rowIndex: number; nestedIndex: string; rowItem: any; rowComponent: DataTableRowComponent; event?: MouseEvent; } export interface SortEventArg { field?: string; direction: SortDirection; column?: DataTableColumnTmplComponent; th?: TableThComponent; } export interface RowCheckChangeEventArg { rowIndex: number; nestedIndex: string; rowItem: any; checked: boolean; } export interface ColumnDefs { render: (data: any, row: any) => any; target: string; } export interface FilterConfig { id?: number | string; name: string; value: any; checked?: boolean; selected?: boolean; } export interface CheckableRelation { upward: boolean; downward: boolean; } export interface TableExpandConfig { expand?: boolean; expandTemplateRef?: TemplateRef; description?: string; } export interface ColumnResizeEventArg { currentColumn: DataTableColumnTmplComponent; nextColumn: DataTableColumnTmplComponent; } export declare enum ColumnAdjustStrategy { disable = 0,// 不可调整 mouseup = 1,// 列宽在鼠标松开时变化 mousemove = 2 } export interface TableCheckStatusArg { pageAllChecked?: boolean; pageHalfChecked?: boolean; } export interface TableWidthConfig { field: string; width: string; } export declare enum EditableTip { hover = "hover", btn = "btn" } export interface RowToggleStatusEventArg { rowItem: any; open: boolean; } export interface TableCheckOptions { label: string; onChecked: Function; }