import { FilterExpressionCollection } from "igniteui-webcomponents-core";
import { SortDescriptionCollection } from "igniteui-webcomponents-core";
import { SummaryDescriptionCollection } from "igniteui-webcomponents-core";
import { VirtualDataSource } from "igniteui-webcomponents-core";
import { IDataSource } from "igniteui-webcomponents-core";
import { IExternalDataSource } from "igniteui-webcomponents-core";
export declare class RestVirtualDataSource extends VirtualDataSource implements IExternalDataSource {
    constructor();
    private onBaseUriChanged;
    private _baseUri;
    get baseUri(): string;
    set baseUri(value: string);
    private onEntitySetChanged;
    private _isFilteringSupportedByServer;
    set isFilteringSupportedByServer(v: boolean);
    get isFilteringSupportedByServer(): boolean;
    protected get_isFilteringSupported(): boolean;
    private _entitySet;
    get entitySet(): string;
    set entitySet(value: string);
    private onTimeoutMillisecondsChanged;
    private _timeoutMilliseconds;
    get timeoutMilliseconds(): number;
    set timeoutMilliseconds(value: number);
    get isSortingSupportedOverride(): boolean;
    get isFilteringSupportedOverride(): boolean;
    get isGroupingSupportedOverride(): boolean;
    private _isAggregationSupportedByServer;
    get isAggregationSupportedByServer(): boolean;
    set isAggregationSupportedByServer(isSupported: boolean);
    private _enableJsonp;
    get enableJsonp(): boolean;
    set enableJsonp(isEnabled: boolean);
    private _fixedFullCount;
    get fixedFullCount(): number;
    set fixedFullCount(value: number);
    private _provideFullCount;
    get provideFullCount(): (page: any) => number;
    set provideFullCount(value: (page: any) => number);
    private _provideOrderByParameter;
    get provideOrderByParameter(): (args: any[], orderByString: string, orderBy: SortDescriptionCollection) => void;
    set provideOrderByParameter(value: (args: any[], orderByString: string, orderBy: SortDescriptionCollection) => void);
    private _provideFilterParameter;
    get provideFilterParameter(): (args: any[], filterString: string, filterExpressions: FilterExpressionCollection) => void;
    set provideFilterParameter(value: (args: any[], filterString: string, filterExpressions: FilterExpressionCollection) => void);
    private _provideAggregationParameter;
    get provideAggregationParameter(): (args: any[], fetchCountOnly: boolean, groupByString: string, groupBy: SortDescriptionCollection, summaryString: string, summary: SummaryDescriptionCollection) => void;
    set provideAggregationParameter(value: (args: any[], fetchCountOnly: boolean, groupByString: string, groupBy: SortDescriptionCollection, summaryString: string, summary: SummaryDescriptionCollection) => void);
    private _provideAggregatedCount;
    get provideAggregatedCount(): (item: any) => number;
    set provideAggregatedCount(value: (item: any) => number);
    private _provideUri;
    get provideUri(): (baseUri: string, entitySet: string, args: {
        name: string;
        value: any;
    }[]) => string;
    set provideUri(value: (baseUri: string, entitySet: string, args: {
        name: string;
        value: any;
    }[]) => string);
    private _performFetch;
    get performFetch(): (request: {
        requestUri: string;
        enableJsonpCallback: boolean;
        method: 'GET';
        headers: any;
        data: null;
    }, success: (data: any, response: any) => void, failure: (err: any) => void) => void;
    set performFetch(value: (request: {
        requestUri: string;
        enableJsonpCallback: boolean;
        method: 'GET';
        headers: any;
        data: null;
    }, success: (data: any, response: any) => void, failure: (err: any) => void) => void);
    private _providePagingParameter;
    get providePagingParameter(): (args: any[], skip: number, take: number) => void;
    set providePagingParameter(value: (args: any[], skip: number, take: number) => void);
    private _provideDesiredPropertiesParameter;
    get provideDesiredPropertiesParameter(): (args: any[], selectString: string, desiredProperties: string[]) => void;
    set provideDesiredPropertiesParameter(value: (args: any[], selectString: string, desiredProperties: string[]) => void);
    private _provideItems;
    get provideItems(): (result: any) => any[];
    set provideItems(value: (result: any) => any[]);
    clone(): IDataSource;
}
