import { Any, PlainObject, PlainObjectOf } from '@angular-ru/cdk/typings';
import { ComparableKeys, ExtraObjectOptions, ObjectExtraOptions, ObjectReduceOptions } from './internal/extra-object-options';
export declare function unwrap<T>(target: T, options: ObjectExtraOptions): T;
export declare function flatten<T = string>(object: PlainObject, excludeKeys?: string[]): PlainObjectOf<T>;
export declare function mutate<T>(object: PlainObject, depthGraph: PlainObjectOf<T>, key: string): void;
export declare function deepObjectReduce<T>({ accumulator, key, targetValue, options }: ObjectReduceOptions<T>): T;
export declare function comparable<T>(target: T | T[] | string, options?: ObjectExtraOptions): ComparableKeys<T>;
export declare function objectToString<T>(obj: T, options?: Partial<ExtraObjectOptions>): string;
export declare function equals<T, K>(a: T, b: K, options?: ObjectExtraOptions): boolean;
export declare function shallowTrimProperties<T>(obj: PlainObjectOf<Any>): T;
export declare function strictEquals<T, K>(a: T, b: K): boolean;
export declare function getComparableValue<T>(options: ObjectExtraOptions, value: T): ComparableKeys<T>;
//# sourceMappingURL=utils.d.ts.map