export declare type Resolved = { "0": { [K in keyof T]: T[K]; }; }["0"]; export declare type UnionToIntersection = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; export interface DeepRecord { [key: string]: T | DeepRecord; } export declare function last(arr: T[]): T | undefined; export declare function is(x: unknown, y: unknown): boolean; export declare function isPlainObject(obj: unknown): obj is Record; export declare function mergeObjects(target: DeepRecord, source: DeepRecord, fn?: (item: T, key: string, parent: DeepRecord, paths: readonly string[]) => void, paths?: string[]): DeepRecord; export declare function flattenObject(obj: DeepRecord, separator?: string): Record; export declare function concatLastString(str: string, lastStr: string | undefined, separator?: string): string; export declare function splitLastString(str: string, separator?: string): [string, string]; export declare function defineGetter(obj: TObject, p: TKey, get: () => TObject[TKey]): void;