import WidgetBase from '@dojo/framework/core/WidgetBase';
import ThemedMixin from '@dojo/framework/core/mixins/Themed';
import { DNode } from '@dojo/framework/core/interfaces';
import { GridPages, ColumnConfig } from './interfaces';
export interface BodyProperties<S> {
    totalRows?: number;
    pageSize: number;
    pages: GridPages<S>;
    height: number;
    columnConfig: ColumnConfig[];
    placeholderRowRenderer?: (index: number) => DNode;
    fetcher: (page: number, pageSize: number) => void;
    updater: (page: number, rowNumber: number, columnId: string, value: string) => void;
    pageChange: (page: number) => void;
    onScroll: (value: number) => void;
}
declare const Body_base: import("@dojo/framework/core/interfaces").Constructor<ThemedMixin<{}>> & typeof WidgetBase;
export default class Body<S> extends Body_base<BodyProperties<S>> {
    private _rowHeight;
    private _rowsInView;
    private _renderPageSize;
    private _start;
    private _end;
    private _resetScroll;
    private _updater;
    private _onScroll;
    protected _onDiffTotalRows(): void;
    private _renderRows;
    protected render(): DNode;
}
export {};
