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