import React from 'react';

export interface CommonProps {
    columns?: [];
    dataSource?: [];
    tableId?: number;
    checked?: [];
    columnWidth?: number;
}

export interface CommonState {
    prevProps: CommonProps;
    columns?: [];
    dataSource?: [];
    tableId?: number;
    checked?: [];
    columnWidth?: number;
}

export interface TableProps extends CommonProps {}

export interface TableState extends CommonState {
    prevProps: TableProps;
}
export interface ColumnProps {
    type: string;
    title: string;
    width?: number;
}

export interface BaseComponentProps {
    value: [];
    columnConfig: any;
    formatter?: Function;
    onChange?: Function;
}
export interface BaseComponentState {
    prevProps: BaseComponentProps;
    value: [];
    columnConfig: any;
}
export interface CellProps {
    columns: [];
    columnConfig: any;
    rowData: [];
    cellData: [];
}
export interface CellState {
    prevProps: CellProps;
    columns: [];
    columnConfig: any;
    rowData: [];
    editValue: [];
    originValue: [];
}
export interface EditCellProps {
    columns: [];
    columnConfig: any;
    rowData: [];
    value: any;
}
export interface EditCellState {
    prevProps: EditCellProps;
    columnConfig: any;
}
