import { PureComponent } from 'react';
import Store from './Store';
import { IGridBatchRender, IGridSelection } from './types';
export interface IBatchComponentsProps<Data = any, Key = string> {
    batchRender: IGridBatchRender;
    prefix: string;
    position: 'header' | 'foot';
    onSelect: (type: string, datasets: ReadonlyArray<Data>) => void;
    store: Store;
    datasets: ReadonlyArray<Data>;
    getDataKey: (data: Data, rowIndex: string | number) => string;
    selection: IGridSelection<Data, Key>;
    selectionPropsCache: {
        [key: string]: {
            disabled?: boolean;
        };
    };
    rowKey: string;
}
interface IState<Data> {
    selectedRows: Data[];
    batchNeedRenderFixed: boolean;
}
declare class BatchComponents<Data, Key> extends PureComponent<IBatchComponentsProps<Data, Key>, IState<Data>> {
    state: IState<Data>;
    unsubscribe: any;
    unsubscribeBatchRenderFixed: any;
    getSelectionPropsByItem: (data: Data, rowIndex: number | string) => {
        disabled?: boolean;
    };
    getData: () => readonly Data[];
    getCheckboxAllDisabled: () => boolean;
    getSelectedRows: () => Data[];
    subscribe: () => void;
    componentDidMount(): void;
    componentWillUnmount(): void;
    render(): JSX.Element;
}
export default BatchComponents;
