import { Injector } from '@angular/core';
import { Observable } from 'rxjs';
import { IDataService } from '../interfaces/data-service.interface';
import { IFormDataComponent } from '../interfaces/form-data-component.interface';
import { IPermissionsService } from '../interfaces/permissions-service.interface';
import { OConfigureMessageServiceArgs } from '../types/configure-message-service-args.type';
import { ODateValueType } from '../types/o-date-value.type';
import { ActivatedRouteSnapshot } from '@angular/router';
export declare class Util {
    static readonly columnAggregates: string[];
    static isObject(val: any): boolean;
    static isArray(val: any): boolean;
    static parseBoolean(value: string, defaultValue?: boolean): boolean;
    static parseArray(value: string, excludeRepeated?: boolean): string[];
    static parseParentKeysEquivalences(pKeysArray: Array<string>, separator?: string): object;
    static encodeParentKeys(parentKeys: object): string;
    static decodeParentKeys(parentKeys: string): object;
    static isArrayEmpty(array: any[]): boolean;
    static isObjectEmpty(obj: object): boolean;
    static isDataService(arg: any): arg is IDataService;
    static isPermissionsService(arg: any): arg is IPermissionsService;
    static isFormDataComponent(arg: any): arg is IFormDataComponent;
    static isEquivalent(a: any, b: any): boolean;
    static equals(o1: any, o2: any): boolean;
    static isDefined(value: any): boolean;
    static randomNumber(): number;
    static normalizeString(value: string, toLowerCase?: boolean): string;
    static flatten(array: Array<any>): Array<any>;
    static getValuesFromObject(obj?: object): Array<any>;
    static parseIconPosition(value: string, defaultValue?: string): string;
    static copyToClipboard(data: string): void;
    static checkPixelsValueString(value: string): boolean;
    static extractPixelsValue(value: any, defaultValue?: number): number;
    static parseOInputsOptions(elRef: any, oInputsOptions: any): void;
    static escapeSpecialCharacter(S: string): string;
    static isArrayEqual(array1: Array<any>, array2: Array<any>): boolean;
    static differenceArrays(array1: Array<any>, array2: Array<any>): Array<any>;
    static convertToODateValueType(val: any): ODateValueType;
    static uniqueBy(a: Array<any>, key: any): any[];
    static compare(a: string, b: string): number;
    static parseByValueType(value: any, valueType: ODateValueType, format: string): any;
    static wrapIntoObservable<T>(value: T | Promise<T> | Observable<T>): Observable<T>;
    static isPromise<T = any>(obj: any): obj is Promise<T>;
    static createServiceInstance(clazz: any, injector: Injector): any;
    static configureMessageService(configureServiceArgs: OConfigureMessageServiceArgs): any;
    static isBase64(file: string): boolean;
    static stringify(obj: object): string;
    static readonly objectToQueryString: (initialObj: any) => any;
    static readonly mapKeys: (obj: any, fn: any) => {};
    static readonly mapValues: (obj: any, fn: any) => {};
    static toLowerCase(value: string): string;
    static toUpperCase(value: string): string;
    static parseToLowerCase(value: any): any;
    static parseToUpperCase(value: any): any;
    static sortFunction(propertyA: string | number, propertyB: string | number, activeSortDirection: string): number;
    static cloneArray<T>(arr: T[]): T[];
    static getLastActivateRoute(routeSnapshot: ActivatedRouteSnapshot): ActivatedRouteSnapshot;
    static getValueFromPath(obj: any, path: string): any;
}
