import { QWidget, QTableWidget, QTableWidgetItem, QTableWidgetSignals, SortOrder } from "@nodegui/nodegui"; import { ViewProps } from "../View/RNView"; import { RNComponent } from "../config"; import { RNTableItem } from "../TableItem/RNTableItem"; export interface CellRange { row: number; column: number; } interface HorizontalHeader extends Omit { item: QTableWidgetItem; } interface VerticalHeader extends Omit { item: QTableWidgetItem; } interface CellWidget extends CellRange { widget: QWidget; } interface Sort extends Omit { order?: SortOrder; } interface ColumnSize extends Omit { width: number; } interface RowSize extends Omit { width: number; } export interface TableProps extends ViewProps { cellRange: CellRange; horizontalHeaderItems?: HorizontalHeader[]; horizontalHeaderLabels?: string[]; verticalHeaderItems?: VerticalHeader[]; verticalHeaderLabels?: string[]; cellWidgets?: CellWidget[]; currentCell?: CellRange; sortItems?: Sort; selectedColumn?: number; selectedRow?: number; showGrid?: boolean; columnWidth?: ColumnSize[]; rowHeight?: RowSize[]; sortingEnabled?: boolean; hideColumns?: number[]; hideRows?: number[]; } declare type CustomTableProps = Omit; /** * @ignore */ export declare const setTableProps: (widget: RNTable, newProps: CustomTableProps, oldProps: CustomTableProps) => void; /** * @ignore */ export declare class RNTable extends QTableWidget implements RNComponent { setProps(newProps: CustomTableProps, oldProps: CustomTableProps): void; removeChild(child: QWidget): void; appendInitialChild(child: RNTableItem): void; appendChild(child: RNTableItem): void; insertBefore(child: RNTableItem, beforeChild: RNTableItem): void; static tagName: string; } export {};