import { ElementRef } from '@angular/core';
import { AlertController, LoadingController, NavController, Platform, ToastController } from '@ionic/angular';
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
import { Observable } from 'rxjs';
import { AbstractControl, ValidatorFn, ValidationErrors } from '@angular/forms';
import { Message } from 'primeng/api';
import { MessageService } from 'primeng/api';
import { NgxSpinnerService } from "ngx-spinner";
import { LoadingBarService } from '@ngx-loading-bar/core';
import { ErrorModel } from '../../models/ErrorModel';
import { LoggerService } from '../logger/logger.service';
import { ActivatedRoute, Router } from '@angular/router';
import { Title } from '@angular/platform-browser';
import { TourService } from '../tour/tour.service';
import * as i0 from "@angular/core";
export declare class UtilService {
    alertController: AlertController;
    httpClient: HttpClient;
    lc: LoadingController;
    toastController: ToastController;
    msgService: MessageService;
    private spinner;
    loader: LoadingBarService;
    private logger;
    private router;
    private titleService;
    private ar;
    private tourService;
    private platform;
    focusables: string[];
    msgs: Message[];
    options: {};
    loading: any;
    constructor(alertController: AlertController, httpClient: HttpClient, lc: LoadingController, toastController: ToastController, msgService: MessageService, spinner: NgxSpinnerService, loader: LoadingBarService, logger: LoggerService, router: Router, titleService: Title, ar: ActivatedRoute, tourService: TourService, platform: Platform);
    toast(msg: string): Promise<void>;
    presentToast(msg: string): Promise<void>;
    baseUrl(): string;
    presentAlert(header: any, subMsg: any, errDtl: any): Promise<void>;
    error(header: any, subMsg: any, errDtl: any): void;
    showError(msg: string): void;
    errorMsg(errDtl: ErrorModel): void;
    customPopupMessage(severity: 'success' | 'error', summary: string, message: string, duration?: number, id?: string): void;
    success(msg: any): Promise<void>;
    info(msg: any): void;
    get<T>(endPoint: string, options?: {
        headers?: HttpHeaders | {
            [header: string]: string | string[];
        };
        observe?: 'body';
        params?: HttpParams | {
            [param: string]: string | string[];
        };
        reportProgress?: boolean;
        responseType?: 'json';
        withCredentials?: boolean;
    }, serviceName?: string): Observable<T>;
    post<T>(url: string, body: any | null, options?: {
        headers?: HttpHeaders | {
            [header: string]: string | string[];
        };
        observe?: 'body';
        params?: HttpParams | {
            [param: string]: string | string[];
        };
        reportProgress?: boolean;
        responseType?: 'json';
        withCredentials?: boolean;
    }, serviceName?: string): Observable<T>;
    postFormData<T>(url: string, body: any | null, options?: {
        headers?: HttpHeaders | {
            [header: string]: string | string[];
        };
        observe?: 'body';
        params?: HttpParams | {
            [param: string]: string | string[];
        };
        reportProgress?: boolean;
        responseType?: 'json';
        withCredentials?: boolean;
    }, serviceName?: string): Observable<T>;
    delete<T>(url: string, options?: {
        headers?: HttpHeaders | {
            [header: string]: string | string[];
        };
        observe?: 'body';
        params?: HttpParams | {
            [param: string]: string | string[];
        };
        reportProgress?: boolean;
        responseType?: 'json';
        withCredentials?: boolean;
    }, serviceName?: string): Observable<T>;
    patch<T>(url: string, body: any | null, options?: {
        headers?: HttpHeaders | {
            [header: string]: string | string[];
        };
        observe?: 'body';
        params?: HttpParams | {
            [param: string]: string | string[];
        };
        reportProgress?: boolean;
        responseType?: 'json';
        withCredentials?: boolean;
    }, serviceName?: string): Observable<T>;
    errorHandler(error: any): void;
    getFullUrl(endPoint: string): string;
    getUrl(endPoint: string, serviceName: string): string;
    showLoader(): Promise<void>;
    hideLoader(): Promise<void>;
    /**
     * @decription This method will find difference of dates by specified interval
     * @author Prerak Tiwari
     * @version 1.0
     * @param fromDate in miliseconds
     * @param todate in miliseconds
     * @param interval : valid values are --> "years", "months", "weeks", "days", "hours", "minutes", "seconds"
     * @returns difference of date as per interval specified.
     **/
    findDifferenceIndate(fromDate: any, todate: any, interval: any): number;
    /**
     * @decription This method will return date in ddMMyyyy format.
     * @author Prerak Tiwari
     * @version 1.0
     * @returns string
     **/
    getDateInMMDDYYYYFormat(date: Date): string;
    /**
     * @decription This method will return Date object (for yyyy/MM/dd)
     * @author Prerak Tiwari
     * @version 1.0
     * @param value : date separated with '-'
     * @returns Date
     **/
    getEnteredDate(value: any): Date;
    /**
     * @decription This method will return Date object (for MM/dd/yyyy).
     * @author Prerak Tiwari
     * @version 1.0
     * @param value : date separated with '-'
     * @returns Date
     **/
    getDateFromString(value: any): Date;
    getEnteredDateFromString(value: any): Date;
    getDateInMMDDYYYY(value: any): string;
    prepedZeroIfSingleDigit(number: any): any;
    /**
    * @decription This method check if entered number is valid or not.
    * @author Prerak Tiwari
    * @version 1.0
    * @returns true : number is valid </br> false : number is invalid
    */
    validateNumber(number: any): boolean;
    /**
    * @decription This method check if entered number is valid or not.
    * @author Prerak Tiwari
    * @version 1.0
    * @returns true : number is valid </br> false : number is invalid
    */
    validateEmail(email: any): boolean;
    setValidation(control: AbstractControl, newValidator: ValidatorFn | ValidatorFn[] | null): void;
    clearValidation(control: AbstractControl): void;
    setRequiredValidator(control: AbstractControl): void;
    static patternValidator(regex: RegExp, error: ValidationErrors): ValidatorFn;
    static passwordMatchValidator(control: AbstractControl): void;
    formatSsn(ssn: string): string;
    formatRetrievedSSN(ssn: string): string;
    maskSsn(ssn: string): string;
    mask(value: string, charToHide: number): string;
    clearMessages(): void;
    isState(state: string): boolean;
    getState(): any;
    getStateLowercase(): any;
    setupNavigationBasedEvents(): void;
    private setPageTitle;
    /**
     * @decription This method will return context root of the application
     * @author Prerak Tiwari
     * @version 1.0
     * @param value : context root of application. e.g if application is running on 'http://localhost:9080/cp/page' then this method will return 'cp'
     * @returns String
     **/
    getContextRoot(): string;
    getClaimantAppContextRoot(): string;
    getSecurityAppContextRoot(): string;
    openPageByContextRoot(context: string, uri: string, nav?: NavController): void;
    openPageByContextRootWithDataAndTxnId(context: string, uri: string, data: any, transactionId: any, nav?: NavController): void;
    openPageByContextRootWithData(context: string, uri: string, data: any, nav?: NavController): void;
    maskExceptFirstAndLastChar(value: string): string;
    maskEmail(email: string): string;
    isPlayformCapacitor(): boolean;
    isNewPasswordPolicyEnabled(): boolean;
    isSameSymbolPolicyForClaimantAndAgency(): boolean;
    focusOnSubmit(el: ElementRef): void;
    generateRandomKey(): number;
    base64UrlEncode(input: string): string;
    xorEncrypt(input: string, key: number): string;
    base64UrlDecode(input: string): string;
    xorDecrypt(encoded: string, key: number): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<UtilService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<UtilService>;
}
//# sourceMappingURL=util.service.d.ts.map