import { BaseDataSource } from "./BaseDataSource";
import { IPageCandidatesSink } from "./IPageCandidatesSink";
import { PagePredictionEngine } from "./PagePredictionEngine";
import { IDataSourceDataProvider } from "./IDataSourceDataProvider";
import { IDataSourceVirtualDataProvider } from "./IDataSourceVirtualDataProvider";
import { IExternalVirtualDataSource } from "./IExternalVirtualDataSource";
import { Type } from "./type";
import { ISummaryResult } from "./ISummaryResult";
import { DataSourceRowType } from "./DataSourceRowType";
import { DataSourcePageRequestPriority } from "./DataSourcePageRequestPriority";
import { IDataSource } from "./IDataSource";
import { TransactionEvent } from "./TransactionEvent";
import { DataSourceBatchStartedEventArgs } from "./DataSourceBatchStartedEventArgs";
import { DataSourceBatchCompletedEventArgs } from "./DataSourceBatchCompletedEventArgs";
/**
 * @hidden
 */
export declare class VirtualDataSource extends BaseDataSource implements IPageCandidatesSink {
    static $t: Type;
    constructor();
    private dm;
    private d9;
    protected get_isSectionCollapsable(): boolean;
    protected set_isSectionCollapsable(a: boolean): void;
    protected get_isSectionExpandedDefault(): boolean;
    protected set_isSectionExpandedDefault(a: boolean): void;
    protected dg: PagePredictionEngine;
    protected get_actualBaseDataProvider(): IDataSourceDataProvider;
    protected get actualBaseDataProvider(): IDataSourceDataProvider;
    private c7;
    get dataProvider(): IDataSourceVirtualDataProvider;
    set dataProvider(a: IDataSourceVirtualDataProvider);
    private c6;
    get actualDataProvider(): IDataSourceVirtualDataProvider;
    set actualDataProvider(a: IDataSourceVirtualDataProvider);
    private d8;
    get pageSizeRequested(): number;
    set pageSizeRequested(a: number);
    protected resetCache(): void;
    protected resetCacheOverride(): void;
    private d7;
    get maxCachedPages(): number;
    set maxCachedPages(a: number);
    protected actualPageSizePopulated: boolean;
    private dt;
    get actualPageSize(): number;
    set actualPageSize(a: number);
    private dk;
    protected get_isSortingSupported(): boolean;
    protected get_isFilteringSupported(): boolean;
    protected get_isGroupingSupported(): boolean;
    private db;
    get dc(): IExternalVirtualDataSource;
    set dc(a: IExternalVirtualDataSource);
    protected resolveDataProvider(): IDataSourceVirtualDataProvider;
    protected propertyUpdatedOverride(a: string, b: any, c: any): void;
    private ed;
    private eu;
    private e0;
    private eb;
    protected resolveFullCount(a: number): number;
    private ez;
    private c2;
    private es;
    private c3;
    private er;
    private ey;
    private ec;
    private ew;
    protected get_isVirtual(): boolean;
    private dj;
    private dr;
    private ds;
    private dl;
    private c0;
    private c4;
    isPlaceholderItem(a: number): boolean;
    getItemAtIndex(a: number): any;
    getItemFromKey(a: any[]): any;
    private eh;
    private c5;
    private di;
    private dh;
    getItemPropertyAtIndex(a: number, b: string): any;
    private ei;
    private ex;
    private ev;
    addCandidate(a: number, b: DataSourcePageRequestPriority): boolean;
    removeCandidate(a: number): void;
    transformPage(a: number): number[];
    getUnrealizedCount(): number;
    onSetItemOverride(a: number, b: any, c: any): void;
    protected refreshInternalOverride(): void;
    private e1;
    onClearItemsOverride(): void;
    onInsertItemOverride(a: number, b: any): void;
    onRemoveItemOverride(a: number, b: any): void;
    protected get_isItemIndexLookupSupported(): boolean;
    protected get_isKeyIndexLookupSupported(): boolean;
    indexOfItem(a: any): number;
    private dp;
    indexOfKey(a: any[]): number;
    private df;
    getStickyRowPriority(a: number): number;
    unpinRow(a: any[]): void;
    pinRow(a: any[]): void;
    isRowPinned(a: number): boolean;
    private c1;
    private d1;
    private du;
    private d3;
    private dw;
    private d4;
    private dx;
    private d2;
    private dv;
    private d6;
    private d5;
    private dz;
    private dy;
    private d0;
    getStickyRowsInRange(a: number, b: number): number[];
    isExclusivelySticky(a: number): boolean;
    getRowType(a: number): DataSourceRowType;
    private dq;
    getIsRowExpandedAtIndex(a: number): boolean;
    setIsRowExpandedAtIndex(a: number, b: boolean): void;
    getRowLevel(a: number): number;
    getRootSummaryRowCount(): number;
    private el;
    private em;
    getRootSummaryResults(): ISummaryResult[];
    getSectionSummaryResults(a: number): ISummaryResult[][];
    clone(): IDataSource;
    cloneProperties(a: IDataSource): void;
    private _concurrencyTag;
    get concurrencyTag(): string;
    set concurrencyTag(a: string);
    protected get_isBatchingEnabled(): boolean;
    protected set_isBatchingEnabled(a: boolean): void;
    updatePropertyAtKey(a: any[], b: string, c: any, d?: boolean): number;
    removeItemByKey(a: any[]): void;
    protected ct(a: TransactionEvent, b: any): void;
    private et;
    batchStarted: (sender: any, e: DataSourceBatchStartedEventArgs) => void;
    batchCompleted: (sender: any, e: DataSourceBatchCompletedEventArgs) => void;
}
