/**
 * It takes a record / HTMLElement and a path, and returns the value at that path
 *
 * @param {Record<string, unknown> | HTMLElement} record - The record object or HTMLElement that you want to get the value from.
 * @param {string} path - The path to the value you want to get.
 * @returns {unknown} The value of the path in the record.
 */
export declare function getValueByPath(record: Record<string, unknown> | HTMLElement, path?: string): unknown;
/**
 * The `deepEqual` function compares two objects deeply to determine if they are equal.
 *
 * @param {unknown} obj - `obj` is the first object you want to compare for deep equality.
 * @param {unknown} compareTo - The `compareTo` parameter is the object that you want to compare for
 * deep equality with the `obj` parameter.
 * @returns {boolean} The `deepEqual` function is returning a boolean value indicating whether the two input
 * objects `obj` and `compareTo` are deeply equal. It checks if both inputs are objects, have the same
 * number of keys, and recursively compares the key-value pairs to determine equality. If the objects
 * are not objects, it directly compares them for equality.
 */
export declare function deepEqual(obj: unknown, compareTo: unknown): boolean;
/**
 * Cleans an object by removing properties with null or undefined values.
 *
 * @template T - The type of the input object.
 * @param {T} obj - The object to be cleaned.
 * @param {{ cleanEmptyString?: boolean }} [options] - Optional settings for cleaning the object.
 * @param {boolean} [options.cleanEmptyString=false] - If true, also removes properties with empty string values.
 * @returns {Partial<T>} A new object with properties that have non-null and non-undefined and empty string (optional) values.
 */
export declare function cleanObject<T extends Record<string, unknown>>(obj: T, options?: {
  cleanEmptyString?: boolean;
}): Partial<T>;
