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";
import { ISummaryResult } from "./ISummaryResult";
import { IDataSource } from "./IDataSource";
import { ISupportsExpansionChangeNotifications } from "./ISupportsExpansionChangeNotifications";
/**
 * @hidden
 */
export declare class LocalDataSource extends BaseDataSource {
    static $t: Type;
    protected get_actualBaseDataProvider(): IDataSourceDataProvider;
    protected readonly actualBaseDataProvider: IDataSourceDataProvider;
    private cg;
    dataProvider: IDataSourceLocalDataProvider;
    private cf;
    actualDataProvider: IDataSourceLocalDataProvider;
    private df;
    itemsSource: any;
    protected canInitialize(): boolean;
    private cl;
    cm: 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 cp;
    private cr;
    private ck;
    private cu;
    protected refreshInternalOverride(): void;
    protected get_isItemIndexLookupSupported(): boolean;
    protected get_isKeyIndexLookupSupported(): boolean;
    indexOfItem(a: any): number;
    private ct;
    indexOfKey(a: any[]): number;
    protected onActualPrimaryKeyChangedOverrride(a: string[], b: string[]): void;
    private cn;
    private co;
    private cq;
    private c0;
    private cz;
    private cw;
    private cx;
    private cv;
    private cy;
    onClearItemsOverride(): void;
    onSetItemOverride(a: number, b: any, c: any): void;
    onInsertItemOverride(a: number, b: any): void;
    onRemoveItemOverride(a: number, b: any): void;
    dk(): void;
    dn(a: number, b: any, c: any): void;
    dl(a: number, b: any): void;
    dm(a: number, b: any): void;
    private c1;
    pinRow(a: any[]): void;
    unpinRow(a: any[]): void;
    clearPinnedRows(): void;
    isRowPinned(a: number): boolean;
    private cs;
    protected get_isSortingSupported(): boolean;
    protected get_isFilteringSupported(): boolean;
    protected get_isGroupingSupported(): boolean;
    getStickyRowPriority(a: number): number;
    private ce;
    private c9;
    private c2;
    private db;
    private c4;
    private dc;
    private c5;
    private da;
    private c3;
    private de;
    private dd;
    private c7;
    private c6;
    private c8;
    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;
    getRootSummaryRowCount(): number;
    getRootSummaryResults(): ISummaryResult[];
    getSectionSummaryResults(a: number): ISummaryResult[][];
    clone(): IDataSource;
}
/**
 * @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);
}
/**
 * @hidden
 */
export declare class LocalDataSourceViewExpansionNotifier extends Base implements ISupportsExpansionChangeNotifications {
    static $t: Type;
    private a;
    notifyRowExpansionChanged(a: number, b: boolean, c: boolean): void;
    constructor(a: LocalDataSource);
}
