import { Mirrored } from './tsutils';
export declare function recursiveCopy<T>(value: T, Ignore?: new (...args: never[]) => unknown): T;
type Visitor = (path: string, value: unknown) => void;
export declare function isIterable(value: unknown): value is Record<string, unknown>;
export declare function iterateObject<T>(obj: T, paramHandler: Visitor, path?: string): void;
type Lister = () => string[];
type Getter = (path: string) => unknown;
export declare function mirrorObject<T>(lister: Lister, getter: Getter): Mirrored<T>;
export {};
