import { HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http';
import { ODataMetadataResult } from './angularODataMetadataResult';
import { ODataPagedResult } from './angularODataPagedResult';
import { IODataResponseModel } from './angularODataResponseModel';
import * as i0 from "@angular/core";
export declare class KeyConfigs {
    filter: string;
    top: string;
    skip: string;
    orderBy: string;
    select: string;
    search: string;
    expand: string;
    apply: string;
    count: string;
    maxPerPage: string;
    metadata: string;
    responseCount: string;
    responseNextLink: string;
}
export declare class ODataConfiguration {
    private readonly _postHeaders;
    private _baseUrl;
    keys: KeyConfigs;
    defaultRequestOptions: {
        headers: HttpHeaders;
        observe: 'response';
        params?: HttpParams;
        reportProgress?: boolean;
        responseType?: 'json';
        withCredentials?: boolean;
    };
    postRequestOptions: {
        headers: HttpHeaders;
        observe: 'response';
        params?: HttpParams;
        reportProgress?: boolean;
        responseType?: 'json';
        withCredentials?: boolean;
    };
    customRequestOptions: {
        headers: HttpHeaders;
        observe: 'response';
        params?: HttpParams;
        reportProgress?: boolean;
        responseType?: 'json';
        withCredentials?: boolean;
    };
    set baseUrl(baseUrl: string);
    get baseUrl(): string;
    getEntitiesUri(typeName: string): string;
    getEntityUri(key: any, typeName: string): string;
    getEntityPath(key: any, typeName: string): string;
    handleError(err: any, caught: any): void;
    extractQueryResultDataAsNumber(res: HttpResponse<number>): number;
    extractQueryResultData<T>(res: HttpResponse<IODataResponseModel<T>>): T[];
    extractQueryResultDataWithCount<T>(res: HttpResponse<IODataResponseModel<T>>): ODataPagedResult<T>;
    extractQueryResultDataWithMetadata<T>(res: HttpResponse<IODataResponseModel<T>>): ODataMetadataResult<T>;
    private sanitizeTypeName;
    static ɵfac: i0.ɵɵFactoryDeclaration<ODataConfiguration, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ODataConfiguration>;
}
