import { JsonObject } from "../interfaces";
export interface DeserializeOptions {
    context?: Record<string, any>;
    run?: boolean;
    useInvisibleContext?: boolean;
}
export declare function deserialize(stringFn?: string, options?: DeserializeOptions): any;
export declare function deserializeAndRun(stringFn?: string): any;
export declare function deserializeWithContext(stringFn?: string, context?: JsonObject): any;
export declare function deserializeWithContextAndRun(stringFn?: string, context?: JsonObject): any;
export declare function tryToDeserialize(stringFn: string | undefined, context?: JsonObject, defaultValue?: any): any;
export declare function tryToDeserializeAndRun(stringFn: string | undefined, context?: JsonObject, defaultValue?: any): any;
export declare function toCurrency(value: number, symbol?: string, options?: {
    decimals: number;
}): string;
/**
 *
 * Merges multiple objects into one, ignoring properties with values that match the specified empty values.
 * @param args - Objects to merge. The last argument can be an options object.
 * @param options.emptyValues - Array of values that should be ignored when merging objects (default: `undefined`)
 * @returns
 */
export declare function mergeObjects<T = Record<string, any>>(...args: (Record<string, any> | undefined | null | "")[]): T;
export declare function capitalize(text: string, allWords?: boolean): string;
export declare function formatContactName(contact?: {
    NOMBRE?: string | null;
    APELLIDO?: string | null;
    APELLIDO2?: string | null;
} | {
    CONTACTO_NOMBRE?: string | null;
    CONTACTO_APELLIDO?: string | null;
    CONTACTO_APELLIDO2?: string | null;
} | {
    nombre?: string | null;
    apellido: string | null;
    apellido2: string | null;
} | JsonObject | null): string;
export declare const upperSnakeCase: (text?: string) => string;
export declare const upperSnakeKeys: (item: Record<string, any>) => import("lodash").Dictionary<any>;
export declare const upperSnakeizeObject: <T = any>(item: any) => T;
