import * as React from 'react';
import * as types from '../../schemaManager/types';
import { ItemProps } from '../../common/propTypes';
export declare enum SortDirection {
    asc = "asc",
    desc = "desc"
}
export interface ISubschemaArrayState {
    columnSettings: types.IDataTableColumnSettings;
    showForm: boolean;
    order: SortDirection;
    orderBy: types.IComponent | null;
    selected: number[];
    data: object[];
    page: number;
    rowsPerPage: number;
    errors: types.IValidationErrorList;
}
export default class SubSchemaArray extends React.Component<ItemProps, ISubschemaArrayState> {
    private insertMode;
    private oldData;
    private dataComponents;
    constructor(props: ItemProps);
    render(): JSX.Element;
    Body: () => JSX.Element[];
    getDefaultColumnSettings: () => types.IDataTableColumnSettings;
    addRecord: () => void;
    editRecord: () => void;
    deleteRecords: () => void;
    cancelEditing: () => void;
    setData: (data: any) => void;
    updateValue: () => boolean;
    readonly numSelected: number;
    showTable: () => void;
    isSelected: (id: number) => boolean;
    handleSelectClick: (id: number) => () => void;
    handleSelectDoubleClick: (index: number) => () => void;
    handleSelectAllClick: (_event: any, checked: boolean) => void;
    handleChangePage: (_event: any, page: number) => void;
    handleChangeRowsPerPage: (event: any) => void;
    updateSort: (comp: types.IComponent) => () => void;
    sortedData: () => object[];
    applyCellStyle: (selectionCell: boolean, setting?: types.IDataTableColumnSetting | undefined) => object;
    Toolbar: () => JSX.Element;
    ToolbarForm: () => JSX.Element;
    ToolbarTable: () => JSX.Element;
    Head: () => JSX.Element;
    Pagination: () => JSX.Element | null;
    EmptyRows: () => JSX.Element | null;
    ErrorRow: (arrayId: number) => any;
}
