import { Base, INotifyPropertyChanged, PropertyChangedEventArgs, Type } from "./type";
import { IDataSourceLocalDataProvider } from "./IDataSourceLocalDataProvider";
import { IDataSource } from "./IDataSource";
import { IDataSourceSchema } from "./IDataSourceSchema";
import { IDataSourceExecutionContext } from "./IDataSourceExecutionContext";
import { IDataSourceDataProviderUpdateNotifier } from "./IDataSourceDataProviderUpdateNotifier";
import { SortDescriptionCollection } from "./SortDescriptionCollection";
import { SummaryDescriptionCollection } from "./SummaryDescriptionCollection";
import { DataSourceSummaryScope } from "./DataSourceSummaryScope";
import { FilterExpressionCollection } from "./FilterExpressionCollection";
import { DataSourceDataProviderSchemaChangedEventArgs } from "./DataSourceDataProviderSchemaChangedEventArgs";
import { DataSourceSchemaPropertyType } from "./DataSourceSchemaPropertyType";
import { IDataSourceUpdateNotifier } from "./IDataSourceUpdateNotifier";
/**
 * @hidden
 */
export declare class AggregatedDataProvider extends Base implements IDataSourceLocalDataProvider, INotifyPropertyChanged {
    static $t: Type;
    constructor();
    private ab;
    private g;
    private c;
    f: IDataSource;
    private r;
    w: string;
    private j;
    m: boolean;
    readonly actualSchema: IDataSourceSchema;
    executionContext: IDataSourceExecutionContext;
    updateNotifier: IDataSourceDataProviderUpdateNotifier;
    private q;
    dataSource: any;
    private i;
    deferAutoRefresh: boolean;
    readonly isSortingSupported: boolean;
    readonly isGroupingSupported: boolean;
    readonly isFilteringSupported: boolean;
    readonly sortDescriptions: SortDescriptionCollection;
    readonly groupDescriptions: SortDescriptionCollection;
    readonly summaryDescriptions: SummaryDescriptionCollection;
    summaryScope: DataSourceSummaryScope;
    readonly filterExpressions: FilterExpressionCollection;
    propertiesRequested: string[];
    readonly notifyUsingSourceIndexes: boolean;
    readonly isItemIndexLookupSupported: boolean;
    readonly isKeyIndexLookupSupported: boolean;
    readonly actualCount: number;
    schemaChanged: (sender: any, args: DataSourceDataProviderSchemaChangedEventArgs) => void;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    protected ah(a: string, b: any, c: any): void;
    protected an(a: string, b: any, c: any): void;
    private ag;
    addItem(a: any): void;
    h: boolean;
    private k;
    queueAutoRefresh(): void;
    ae(): void;
    ao(): void;
    protected ap(): void;
    private o;
    private t;
    private d;
    private e;
    flushAutoRefresh(): void;
    refresh(): void;
    getItemAtIndex(a: number): any;
    getItemValue(a: any, b: string): any;
    indexOfItem(a: any): number;
    indexOfKey(a: any[]): number;
    removeItem(a: any): void;
    resolveSchemaPropertyType(a: string): DataSourceSchemaPropertyType;
    setItemValue(a: any, b: string, c: any): void;
    notifyClearItems(): void;
    notifyInsertItem(a: number, b: any): void;
    notifyRemoveItem(a: number, b: any): void;
    notifySetItem(a: number, b: any, c: any): void;
    private p;
    private a;
    private aa;
    private af;
    private ad;
    private ac;
    private n;
    private b;
    private z;
    private l;
    ai(): void;
    aj(a: number, b: any): void;
    ak(a: number, b: any): void;
    al(a: number, b: any, c: any): void;
    am(a: number, b: number): void;
}
/**
 * @hidden
 */
export declare class AggregatedDataProviderTargetDataSourceNotifier extends Base implements IDataSourceUpdateNotifier {
    static $t: Type;
    private a;
    private b;
    readonly c: IDataSourceUpdateNotifier;
    constructor(a: AggregatedDataProvider, b: IDataSourceUpdateNotifier);
    notifyClearItems(): void;
    notifyInsertItem(a: number, b: any): void;
    notifyRemoveItem(a: number, b: any): void;
    notifySetItem(a: number, b: any, c: any): void;
    rangeActualized(a: number, b: number): void;
}
