import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';
import { TranslateService } from '@ngx-translate/core';
import { BehaviorSubject, Observable } from 'rxjs';
import { MonkeyEcxConfig, MonkeyEcxCountrySecurity, MonkeyEcxErrorResponse, MonkeyEcxHandledErrorResponse, MonkeyEcxRequestPaged, MonkeyEcxRequestSchedule, MonkeyEcxResponseLinks, MonkeyEcxResponsePaged, MonkeyEcxSavedState, MonkeyEcxTranslateOptions } from '../../interfaces';
import { MonkeyEcxFeatureToggleService } from '../config/monkeyecx-feature-toggle.service';
import { MonkeyEcxService } from '../monkeyecx-service.service';
import { MonkeyEcxPaginationService } from '../pagination';
import { MonkeyEcxRequestQueueHandlingService } from '../request-queue/monkeyecx-request-queue-handling.service';
import { MonkeyEcxRequestScheduleService } from '../schedules/monkeyecx-request-schedule.service';
import { MonkeyEcxTokenStorageService } from '../storage/monkeyecx-token-storage.service';
export declare class MonkeyEcxCommonsService {
    monkeyecxService?: MonkeyEcxService | undefined;
    tokenStorage?: MonkeyEcxTokenStorageService | undefined;
    otherArgs?: {
        router?: Router | undefined;
        schedule?: {
            service: MonkeyEcxRequestScheduleService;
            options?: {
                clearOnChangeRoute?: boolean | undefined;
            } | undefined;
        } | undefined;
        queue?: {
            service: MonkeyEcxRequestQueueHandlingService;
        } | undefined;
    } | undefined;
    private flagValidator;
    private destroyed;
    __data$: Observable<any> | null;
    __pagination$: Observable<any> | null;
    __control$: Observable<any> | null;
    __page$: Observable<any> | null;
    __data: any | any[];
    __savedState: MonkeyEcxSavedState | null;
    __params: any | any[];
    __error: MonkeyEcxErrorResponse | null;
    __handledError: MonkeyEcxHandledErrorResponse | null;
    __page: MonkeyEcxResponsePaged | null;
    __links: MonkeyEcxResponseLinks | null;
    __search: any;
    __requestPaged: MonkeyEcxRequestPaged | null;
    __onSearchChanged$: BehaviorSubject<any>;
    __onDataChanged$: BehaviorSubject<any>;
    __onLoadingInProgress$: BehaviorSubject<any>;
    __onUploadInProgress$: BehaviorSubject<any>;
    __onDataDeleted$: BehaviorSubject<any>;
    __onErrorChanged$: BehaviorSubject<any>;
    __onGovernmentIdDataChanged$: BehaviorSubject<any>;
    __onZipCodeDataChanged$: BehaviorSubject<any>;
    __oni18nDataChanged$: BehaviorSubject<any>;
    __onDoSearch$: BehaviorSubject<MonkeyEcxRequestPaged>;
    __schedule: MonkeyEcxRequestSchedule | null;
    __i18n: any;
    __callbackPagination: Function;
    __paginationOptions: {
        service: MonkeyEcxPaginationService;
        callback: Function;
        name?: string;
    } | undefined;
    __isAbleToDoPagination: {};
    constructor(monkeyecxService?: MonkeyEcxService | undefined, tokenStorage?: MonkeyEcxTokenStorageService | undefined, otherArgs?: {
        router?: Router | undefined;
        schedule?: {
            service: MonkeyEcxRequestScheduleService;
            options?: {
                clearOnChangeRoute?: boolean | undefined;
            } | undefined;
        } | undefined;
        queue?: {
            service: MonkeyEcxRequestQueueHandlingService;
        } | undefined;
    } | undefined);
    private handleInit;
    private navigateToPendencyPage;
    private allowedSecurityAccessByPendency;
    private allowedSecurityAccessByFeature;
    private allowedSecurityAccessByCountry;
    private handlePaginationOptions;
    setPage(requestPaged: MonkeyEcxRequestPaged): this;
    nextPage(): boolean;
    getEmbeddedData(data: any, field: string): any[] | any;
    getNormalizedUrl(url: string, samePage?: boolean): string;
    clear(clearData: boolean): void;
    resolve(route: ActivatedRouteSnapshot | null, state: RouterStateSnapshot | null, otherArgs?: {
        companyType?: string;
        callbackMain: Function;
        router?: Router;
        callbackPagination?: Function;
        translateOptions?: MonkeyEcxTranslateOptions;
        feature?: {
            service: MonkeyEcxFeatureToggleService;
            flag: string;
        };
        featureByProgram?: {
            config: MonkeyEcxConfig;
            feature: string;
        };
        countrySecurity?: MonkeyEcxCountrySecurity;
        pendency?: {
            service: {
                hasPendencies: Function;
            };
            type: string;
        };
        paginationOptions?: {
            service: MonkeyEcxPaginationService;
            callback: Function;
            name?: string;
        };
    }): void;
    getHTTPHeaderApplicationPDF(): Object;
    genericMethod(link: any, data?: any, callback?: Function): void;
    getGenericData(data: any, action: string): Promise<any>;
    geti18n(translateService: TranslateService, keys: string | string[]): void;
    doPagination(): void;
    doPaginationv2(type: string, callback: Function): void;
    setLinks(links: any): void;
    setSearchByUrl(router: Router, url: string, search: any, extras?: any): void;
    saveState(state: MonkeyEcxSavedState): void;
    navigateToErrorPage(statusCode: number, router?: Router): void;
}
