import { BaseDataSource } from "./BaseDataSource";
import { IDataSourceDataProvider } from "./IDataSourceDataProvider";
import { IDataSourceLocalDataProvider } from "./IDataSourceLocalDataProvider";
import { Base, Type } from "./type";
import { IExternalLocalDataSource } from "./IExternalLocalDataSource";
import { ISupportsDataChangeNotifications } from "./ISupportsDataChangeNotifications";
import { DataSourceRowType } from "./DataSourceRowType";
/**
 * @hidden
 */
export declare class LocalDataSource extends BaseDataSource {
    static $t: Type;
    protected get_actualBaseDataProvider(): IDataSourceDataProvider;
    protected get actualBaseDataProvider(): IDataSourceDataProvider;
    private b6;
    get dataProvider(): IDataSourceLocalDataProvider;
    set dataProvider(a: IDataSourceLocalDataProvider);
    private b5;
    get actualDataProvider(): IDataSourceLocalDataProvider;
    set actualDataProvider(a: IDataSourceLocalDataProvider);
    private c0;
    get itemsSource(): any;
    set itemsSource(a: any);
    protected canInitialize(): boolean;
    private cb;
    get cc(): IExternalLocalDataSource;
    set cc(a: IExternalLocalDataSource);
    constructor();
    protected resolveDataProvider(): IDataSourceLocalDataProvider;
    protected propertyUpdatedOverride(a: string, b: any, c: any): void;
    getItemAtIndex(a: number): any;
    getItemPropertyAtIndex(a: number, b: string): any;
    private cf;
    private ch;
    private ca;
    private ck;
    protected refreshInternalOverride(): void;
    protected get_isItemIndexLookupSupported(): boolean;
    protected get_isKeyIndexLookupSupported(): boolean;
    indexOfItem(a: any): number;
    private cj;
    indexOfKey(a: any[]): number;
    protected onActualPrimaryKeyChangedOverrride(a: string[], b: string[]): void;
    private cd;
    private ce;
    private cg;
    private cq;
    private cp;
    private cm;
    private cn;
    private cl;
    private co;
    onClearItemsOverride(): void;
    onSetItemOverride(a: number, b: any, c: any): void;
    onInsertItemOverride(a: number, b: any): void;
    onRemoveItemOverride(a: number, b: any): void;
    c5(): void;
    c8(a: number, b: any, c: any): void;
    c6(a: number, b: any): void;
    c7(a: number, b: any): void;
    private cr;
    pinRow(a: any[]): void;
    unpinRow(a: any[]): void;
    clearPinnedRows(): void;
    isRowPinned(a: number): boolean;
    private ci;
    protected get_isSortingSupported(): boolean;
    protected get_isFilteringSupported(): boolean;
    protected get_isGroupingSupported(): boolean;
    getStickyRowPriority(a: number): number;
    private b4;
    private cw;
    private cs;
    private cy;
    private cu;
    private cz;
    private cv;
    private cx;
    private ct;
    getStickyRowsInRange(a: number, b: number): number[];
    isExclusivelySticky(a: number): boolean;
    getRowType(a: number): DataSourceRowType;
    setIsRowExpandedAtIndex(a: number, b: boolean): void;
    getIsRowExpandedAtIndex(a: number): boolean;
    getRowLevel(a: number): number;
}
/**
 * @hidden
 */
export declare class LocalDataSourceViewUpdateNotifier extends Base implements ISupportsDataChangeNotifications {
    static $t: Type;
    private a;
    notifyClearItems(): void;
    notifyInsertItem(a: number, b: any): void;
    notifyRemoveItem(a: number, b: any): void;
    notifySetItem(a: number, b: any, c: any): void;
    constructor(a: LocalDataSource);
}
