import { TreeNode } from 'primeng/api';
import { SimpleNamedEntity } from '../models/simple-named-entity';
export declare function getFirst<T>(array: T[]): T;
export type CollectionPredicate = (item?: any, index?: number, collection?: any[]) => boolean;
export declare function isUndefined(value: any): value is undefined;
export declare function isNull(value: any): value is null;
export declare function isConvertibleToNumber(value: string): boolean;
export declare function isNumber(value: any): value is number;
export declare function isNumberFinite(value: any): value is number;
export declare function isPositive(value: number): boolean;
export declare function isInteger(value: number): boolean;
export declare function compareInsensitive(str1: string, str2: string): boolean;
export declare function compare(str1: string, str2: string): boolean;
export declare function isNil(value: any): value is null | undefined;
export declare function isString(value: any): value is string;
export declare function isObject(value: any): boolean;
export declare function isArray(value: any): boolean;
export declare function isFunction(value: any): boolean;
export declare function toDecimal(value: number, decimal: number): number;
export declare function upperFirst(value: string): string;
export declare function createRound(method: string): Function;
export declare function leftPad(str: string, len?: number, ch?: any): string;
export declare function rightPad(str: string, len?: number, ch?: any): string;
export declare function toString(value: number | string): string;
export declare function pad(str: string, len?: number, ch?: any): string;
export declare function flatten(input: any[], index?: number): any[];
export declare function getProperty(value: {
    [key: string]: any;
}, key: string): any;
export declare function sum(input: Array<number>, initial?: number): number;
export declare function shuffle(input: any): any;
export declare function deepIndexOf(collection: any[], value: any): number;
export declare function deepEqual(a: any, b: any): boolean;
export declare function isDeepObject(object: any): any;
export declare function wrapDeep(object: any): DeepWrapper;
export declare function unwrapDeep(object: any): any;
export declare class DeepWrapper {
    data: any;
    __isDeepObject__: boolean;
    constructor(data: any);
}
export declare function count(input: any): any;
export declare function empty(input: any): any;
export declare function every(input: any, predicate: CollectionPredicate): any;
export declare function takeUntil(input: any[], predicate: CollectionPredicate): any;
export declare function takeWhile(input: any[], predicate: CollectionPredicate): any;
export declare function replaceAll(string: any, search: any, replace: any): any;
export declare function createObjectFromString(str: string, value: any, separator?: string, debug?: boolean): any;
export declare function deepMerge(target: any, source: any): any;
export declare function replaceItem<T>(items: T[], newItem: T): T[];
export declare function uuidv4(): string;
export declare function capitalizeFirstLetter(value: string, charsLimit?: number): string;
export declare function capitalizeWithSlash(value: string): string;
export declare function breakLinesForHtml(value: string): string;
export declare function removeElementFromArray(arr: any[], value: string, prop?: string): void;
export declare function sortArray<T>(data: T[], property: string, order?: number): T[];
export declare function sortArrayOfObjects<T>(data: T[], dataPath: string, order?: number): T[];
export declare function sortArrayOfStrings<T>(data: T[], order?: number): T[];
export declare function isSimpleNamedEntity(obj: any): boolean;
export declare function setNestedObject(obj: any, path: any, value: any): void;
export declare function longestStringInArray(array: string[]): string;
export declare function debounce(func: any, wait: any, immediate?: any): () => void;
export declare class Wait {
    throttlePause: any;
    debounceTimer: any;
    throttle: (callback: any, time: any) => void;
    debounce: (callback: any, time: any) => void;
    constructor();
}
export declare function downloadBase64File(base64: string, fileName: string, extension: string): void;
export declare function isNumeric(str: any): boolean;
export declare const base64ToFile: (url: any, filename: any, mimeType: any) => Promise<File>;
export declare function getTreeNodeFromKey(elements: TreeNode[], key: string): any;
export declare function shorten(text: any, length?: number, suffix?: string, wordBreak?: boolean): string;
export declare function getFirstElement<T>(arr: T[] | null | undefined): T | undefined;
export declare function getFirstElements<T>(arr: T[], numElements: number): T[];
export declare function getLastElements<T>(arr: T[], numElements: number): T[];
export declare function isNullOrEmptyString(str: string | null | undefined): boolean;
export type GenericObject = {
    [key: string]: any;
};
export declare function cloneAndRemoveProperty(item: any, propertyToRemove: string): any;
export declare function cloneAndRemoveProperties(item: any, propertiesToRemove: string[], log?: boolean): any;
export declare function toSimpleNamedEntity(item: any, idProperty?: string, nameProperty?: string): SimpleNamedEntity;
export declare function downloadFromUrl(url: string, filename: string): void;
export declare function downloadFromServerUrl(relativeUrl: string, filename: string): void;
