import { QueryDialog } from './QueryDialog';
import { Record } from './Record';
export declare enum QueryMarkerOption {
    None = 0,
    IsEmpty = 1,
    HasMore = 2
}
export declare class QueryScroller {
    private _dialog;
    private _defaultPageSize;
    private _firstRecordId;
    private _markerOptions;
    private _buffer;
    private _hasMoreBackward;
    private _hasMoreForward;
    private _nextPagePromise;
    private _prevPagePromise;
    private _refreshPromise;
    private _firstResultRecordId;
    constructor(_dialog: QueryDialog, _defaultPageSize: number, _firstRecordId: string, _markerOptions?: QueryMarkerOption[]);
    readonly buffer: Record[];
    readonly bufferWithMarkers: Record[];
    readonly dialog: QueryDialog;
    readonly firstRecordId: string;
    readonly hasMoreBackward: boolean;
    readonly hasMoreForward: boolean;
    readonly isComplete: boolean;
    readonly isCompleteAndEmpty: boolean;
    readonly isEmpty: boolean;
    pageBackward(pageSize?: number): Promise<Record[]>;
    pageForward(pageSize?: number): Promise<Record[]>;
    readonly pageSize: number;
    refresh(numRows?: number): Promise<Record[]>;
    trimFirst(n: number): void;
    trimLast(n: number): void;
    private clear;
}
