import { ODataServiceFactory, ODataConfiguration, ODataService } from '@mgrcto/angular-odata-v401';
import { HttpClient } from '@angular/common/http';
import { TccAuthService } from '../../services/tcc-auth/tcc-auth.service';
import { TccODataSettings, TccApiSection } from '../../tccodatasettings.token';
import { TccODataService } from '../../services/tcc-odata/tcc-odata.service';
import { TccBrowserCacheService } from '../../../core/services/tcc-browser-cache/tcc-browser-cache.service';
import { IKeyValue, TccLoadingType } from '../../models/shared.model';
import { TccODataConst } from '../../constants/tcc-odata.const';
import { TccET_IAM } from '../../models/iam.model';
export declare class TccODataServiceFactory extends ODataServiceFactory {
    private cchttp;
    private ccconfig;
    private Auth;
    private odatasettings;
    private cacheService;
    private headers;
    private section;
    constructor(cchttp: HttpClient, ccconfig: ODataConfiguration, Auth: TccAuthService, odatasettings: TccODataSettings, cacheService: TccBrowserCacheService);
    private get configuration();
    private get authConfig();
    private get baseConfig();
    private setConfig;
    private setBaseConfig;
    private getCustomConfig;
    CreateCustomService<T>(tccservice: true, section: TccApiSection, entitypath: string): TccODataService<T>;
    CreateCustomService<T>(tccservice: true, section: TccApiSection, entitypath: string, customHttpHeader: IKeyValue<string> | IKeyValue<string>[]): TccODataService<T>;
    CreateCustomService<T>(tccservice: true, section: TccApiSection, entitypath: string, customHttpHeader: IKeyValue<string> | IKeyValue<string>[], uniqueId: string): TccODataService<T>;
    CreateCustomService<T>(tccservice: false, section: TccApiSection, entitypath: string): ODataService<T>;
    CreateCustomService<T>(tccservice: false, section: TccApiSection, entitypath: string, customHttpHeader: IKeyValue<string> | IKeyValue<string>[]): ODataService<T>;
    CreateNoAuthService<T>(entitypath: string): ODataService<T>;
    CreateService<T>(entitypath: string): ODataService<T>;
    /**
     *  @deprecated
     */
    CreateLoadService(entitypath: typeof TccODataConst.IAM_USER, uniqueId?: string, loadingType?: TccLoadingType): TccODataService<TccET_IAM.UserInfo>;
    CreateLoadService<T>(entitypath: string, uniqueId?: string, loadingType?: TccLoadingType): TccODataService<T>;
    CreateLoadService2<T>(entitypath: string, options: {
        uniqueId: string;
        loadingType: TccLoadingType;
    }): TccODataService<any>;
    CreateCustomLoadService<T>(entitypath: string, uniqueId: string, customHttpHeader: IKeyValue<string> | IKeyValue<string>[]): TccODataService<T>;
    CreateServiceEx<T>(entitypath: string, customHttpHeader: IKeyValue<string> | IKeyValue<string>[]): ODataService<T>;
}
