/**
 * Returns true when the value has no elements/properties.
 *
 * @param value - Value to check
 * @returns `true` if the value is empty
 */
export declare function isEmpty(value: unknown): boolean;
/**
 * Escapes RegExp special characters in a string.
 *
 * @param value - Input string
 * @returns Escaped string safe for RegExp source
 */
export declare function escapeRegExp(value: string): string;
/**
 * Returns true when `value` is a plain object (including objects with a null prototype).
 */
export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
/**
 * Assigns own enumerable properties of `source` onto `target` only where `target[key] === undefined`
 * (lodash `defaults` semantics).
 */
export declare function assignDefaults<T extends Record<string, unknown>>(target: T, source: Record<string, unknown>): void;
/**
 * Deep-merges own enumerable properties of each `source` into `target` (lodash `merge` semantics).
 */
export declare function mergeDeep<T extends Record<string, unknown>>(target: T, ...sources: Record<string, unknown>[]): T;
/**
 * Truncates a string to `length` characters (lodash-compatible default omission).
 */
export declare function truncateString(value: string, { length, omission }: {
    length: number;
    omission?: string;
}): string;
/**
 * Uppercases the first character of a string.
 */
export declare function upperFirst(value: string): string;
/**
 * Capitalizes the first character and lowercases the rest.
 */
export declare function capitalize(value: string): string;
//# sourceMappingURL=lang.d.ts.map