import { PropType } from 'vue'; import { JSX } from 'vue/jsx-runtime'; export interface TableColumn { title: string; key: string; dataIndex?: string; width?: number | string; fixed?: 'left' | 'right'; align?: 'left' | 'center' | 'right'; sorter?: boolean | ((a: any, b: any) => number); sortDirections?: Array<'ascend' | 'descend' | null>; sortOrder?: 'ascend' | 'descend' | null; render?: (text: any, record: any, index: number) => JSX.Element; customCell?: (record: any, rowIndex: number) => object; customHeaderCell?: (column: TableColumn) => object; type?: 'text' | 'array'; editable?: boolean; contentEditable?: boolean; } export interface TablePagination { current: number; pageSize: number; total: number; showSizeChanger?: boolean; showQuickJumper?: boolean; pageSizeOptions?: string[]; onChange?: (page: number, pageSize: number) => void; onShowSizeChange?: (current: number, size: number) => void; } export interface TableRowSelection { selectedRowKeys: string[] | number[]; onChange: (selectedRowKeys: string[] | number[], selectedRows: any[]) => void; getCheckboxProps?: (record: any) => object; onSelect?: (record: any, selected: boolean, selectedRows: any[]) => void; onSelectAll?: (selected: boolean, selectedRows: any[], changeRows: any[]) => void; } export declare const ZTable: import('vue').DefineComponent; default: () => never[]; }; columns: { type: PropType; default: () => never[]; }; rowKey: { type: PropType string)>; default: string; }; loading: { type: BooleanConstructor; default: boolean; }; bordered: { type: BooleanConstructor; default: boolean; }; size: { type: PropType<"default" | "middle" | "small">; default: string; }; pagination: { type: PropType; default: () => { current: number; pageSize: number; total: number; }; }; rowSelection: { type: PropType; default: null; }; showHeader: { type: BooleanConstructor; default: boolean; }; scroll: { type: PropType<{ x?: number | string; y?: number | string; }>; default: () => {}; }; allowAddColumn: { type: BooleanConstructor; default: boolean; }; allowRemoveColumn: { type: BooleanConstructor; default: boolean; }; showToolbar: { type: BooleanConstructor; default: boolean; }; allowEditColumnTitle: { type: BooleanConstructor; default: boolean; }; createJSX: { type: PropType<(column: TableColumn, record: any, index: number) => JSX.Element>; default: null; }; defaultColumnType: { type: PropType<"text" | "array">; default: string; }; contentEditable: { type: BooleanConstructor; default: boolean; }; allowAddRow: { type: BooleanConstructor; default: boolean; }; allowRemoveRow: { type: BooleanConstructor; default: boolean; }; defaultNewRow: { type: PropType<() => any>; default: () => {}; }; renderConfig: { type: PropType<{ showAddTextColumn?: boolean; showAddArrayColumn?: boolean; addArrayColumnText?: string; addTextColumnText?: string; showTypeTag?: boolean; }>; default: () => {}; }; }>, () => JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("sortChange" | "paginationChange" | "columnsChange" | "cellChange" | "rowClick" | "dataSourceChange")[], "sortChange" | "paginationChange" | "columnsChange" | "cellChange" | "rowClick" | "dataSourceChange", import('vue').PublicProps, Readonly; default: () => never[]; }; columns: { type: PropType; default: () => never[]; }; rowKey: { type: PropType string)>; default: string; }; loading: { type: BooleanConstructor; default: boolean; }; bordered: { type: BooleanConstructor; default: boolean; }; size: { type: PropType<"default" | "middle" | "small">; default: string; }; pagination: { type: PropType; default: () => { current: number; pageSize: number; total: number; }; }; rowSelection: { type: PropType; default: null; }; showHeader: { type: BooleanConstructor; default: boolean; }; scroll: { type: PropType<{ x?: number | string; y?: number | string; }>; default: () => {}; }; allowAddColumn: { type: BooleanConstructor; default: boolean; }; allowRemoveColumn: { type: BooleanConstructor; default: boolean; }; showToolbar: { type: BooleanConstructor; default: boolean; }; allowEditColumnTitle: { type: BooleanConstructor; default: boolean; }; createJSX: { type: PropType<(column: TableColumn, record: any, index: number) => JSX.Element>; default: null; }; defaultColumnType: { type: PropType<"text" | "array">; default: string; }; contentEditable: { type: BooleanConstructor; default: boolean; }; allowAddRow: { type: BooleanConstructor; default: boolean; }; allowRemoveRow: { type: BooleanConstructor; default: boolean; }; defaultNewRow: { type: PropType<() => any>; default: () => {}; }; renderConfig: { type: PropType<{ showAddTextColumn?: boolean; showAddArrayColumn?: boolean; addArrayColumnText?: string; addTextColumnText?: string; showTypeTag?: boolean; }>; default: () => {}; }; }>> & Readonly<{ onSortChange?: ((...args: any[]) => any) | undefined; onPaginationChange?: ((...args: any[]) => any) | undefined; onColumnsChange?: ((...args: any[]) => any) | undefined; onCellChange?: ((...args: any[]) => any) | undefined; onRowClick?: ((...args: any[]) => any) | undefined; onDataSourceChange?: ((...args: any[]) => any) | undefined; }>, { size: "small" | "default" | "middle"; loading: boolean; bordered: boolean; scroll: { x?: number | string; y?: number | string; }; dataSource: any[]; columns: TableColumn[]; rowKey: string | ((record: any) => string); pagination: false | TablePagination; rowSelection: TableRowSelection; showHeader: boolean; allowAddColumn: boolean; allowRemoveColumn: boolean; showToolbar: boolean; allowEditColumnTitle: boolean; createJSX: (column: TableColumn, record: any, index: number) => JSX.Element; defaultColumnType: "text" | "array"; contentEditable: boolean; allowAddRow: boolean; allowRemoveRow: boolean; defaultNewRow: () => any; renderConfig: { showAddTextColumn?: boolean; showAddArrayColumn?: boolean; addArrayColumnText?: string; addTextColumnText?: string; showTypeTag?: boolean; }; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;