export type SafeDeleteResult = {
    success: boolean;
    message?: string;
};
export declare function safeDeleteFile(targetPath: string, dryRun?: boolean): SafeDeleteResult;
export declare function safeDeleteDirectory(targetPath: string, dryRun?: boolean): SafeDeleteResult;
export declare function escape(str: string): string;
export declare function deepCopy<T>(obj: T): T;
export declare function zip<T, U>(arr1: T[], arr2: U[]): Array<[T, U]>;
export declare function uniq<T>(arr: T[]): T[];
/**
 * Like `uniq`, but de-duplicates by a derived key. The first occurrence
 * of each key is kept; later duplicates are dropped. Useful for de-duping
 * structured values where identity-based Set comparison wouldn't work
 * (e.g. compare-by-JSON.stringify).
 */
export declare function uniqBy<T, K>(arr: T[], keyFn: (item: T) => K): T[];
/**
 * Simple object check.
 */
export declare function isObject(item: any): boolean;
/**
 * Deep merge two objects.
 */
export declare function mergeDeep(_objA: Record<string, any>, _objB: Record<string, any>): Record<string, any>;
export declare function round(num: number, decimals?: number): number;
