import { Event, EventEmitter, EventMap, ObjectOrModel, Table, TableRow } from '../index';
export declare class TableUpdateBuffer extends EventEmitter {
    self: TableUpdateBuffer;
    eventMap: UpdateBufferEventMap;
    promises: JQuery.Promise<any>[];
    table: Table;
    protected _rowMap: Record<string, ObjectOrModel<TableRow>>;
    constructor(table: Table);
    /**
     * The buffer is active if it contains at least one promise. When all promises resolve the buffer will be processed.
     */
    pushPromise(promise: JQuery.Promise<any>): void;
    isBuffering(): boolean;
    buffer(rows: ObjectOrModel<TableRow> | ObjectOrModel<TableRow>[]): void;
    /**
     * Calls {@link Table.updateRows} with the buffered rows and renders the viewport if the rendering was blocked.
     */
    process(): void;
}
export interface UpdateBufferEventMap extends EventMap {
    'complete': Event;
}
//# sourceMappingURL=TableUpdateBuffer.d.ts.map