import '../../styles';
import * as React from 'react';
import { Subject } from 'rxjs';
import { Grid } from '../../grid';
import { FactoryManager } from '../../factory';
import { CssValue, t } from '../common';
export declare type IDataGridProps = {
    grid: Grid;
    factory: t.GridFactory;
    Handsontable?: Handsontable;
    events$?: Subject<t.GridEvent>;
    initial?: t.IInitialGridState;
    canSelectAll?: boolean;
    style?: CssValue;
};
export declare type IDataGridState = {
    size?: t.ISize;
};
export declare class DataGrid extends React.PureComponent<IDataGridProps, IDataGridState> {
    state: IDataGridState;
    grid: Grid;
    factory: FactoryManager;
    private unmounted$;
    private state$;
    private el;
    private elRef;
    private table;
    componentDidMount(): void;
    private init;
    componentWillUnmount(): void;
    dispose(): void;
    get isDisposed(): boolean;
    get isReady(): boolean;
    get events$(): import("rxjs").Observable<t.GridEvent>;
    focus(isFocused?: boolean): this;
    redraw(): this;
    updateSize(): this | undefined;
    render(): JSX.Element;
}
