/**
 * Generate a hash string based on string
 * @param str
 * @returns
 */
export declare function generateHashIdFromString(str: string): string;
/**
 * Detect chrome
 * @returns {boolean} - yes or no
 */
export declare function isChrome(): boolean;
/**
 * Convert camel style names to title
 * strokeColor -> Stroke Color
 * @param {string} str
 * @returns {string}
 */
export declare function camelToTitle(str: string): string;
/**
 * Convert names to camel style
 * Stroke Color -> strokeColor
 * @param {string} str
 * @returns {string}
 */
export declare const camelize: (str: string) => string;
/**
 * immutably insert value to an Array or Object
 * @param {Array|Object} obj
 * @param {Number|String} key
 * @param {*} value
 * @returns {Array|Object}
 */
export declare const insertValue: <T extends any[] | object>(obj: T, key: number | string, value: any) => T;
/**
 * check if value is a loose object including a plain object, array, function
 * @param {*} value
 */
export declare function isObject(value: any): boolean;
/**
 * whether is an object
 * @returns {boolean} - yes or no
 */
export declare function isPlainObject(obj: unknown): obj is Record<string, unknown>;
/**
 * Immutable version of _.set
 * @param {Array<String|Number>} path
 * @param {*} value
 * @param {Object} obj
 * @returns {Object}
 */
export declare const set: <T extends any[] | object>(path: (string | number)[], value: any, obj: T) => T;
type ErrorObject = {
    error?: any;
    err?: any;
    message?: any;
};
export declare const DEFAULT_ERROR_MESSAGE = "Something went wrong";
/**
 * Get error information of unknown type
 * Extracts as much human readable information as possible
 * Ensure result is an Error object suitable for throw or promise rejection
 *
 * @private
 * @param {*}  err - Unknown error
 * @return {string} - human readable error msg
 */
export declare function getError(err?: Error | ErrorObject | string, defaultMessage?: string): string;
export declare function arrayInsert<T>(arr: T[], index: number, val: T): T[];
export declare function hasMobileWidth(breakPointValues: {
    palm: number;
    desk: number;
}): boolean;
export declare function hasPortableWidth(breakPointValues: {
    palm: number;
    desk: number;
}): boolean;
export declare function isTest(): boolean;
/**
 * Filters an object by an arbitrary predicate
 * Returns a new object containing all elements that match the predicate
 * @param {Object} obj Object to be filtered
 * @param {Function} predicate Predicate by which the object will be filtered
 * @returns {Object}
 */
export declare function filterObjectByPredicate(obj: any, predicate: any): {};
export declare function isFunction(func: unknown): boolean;
export declare function findById(id: string): <X extends {
    id: string;
}>(arr: X[]) => X | undefined;
/**
 * Returns array difference from
 */
export declare function arrayDifference<X extends {
    id: string;
}>(source: X[]): (compare: X[]) => X[];
export {};
