export type VisitResult = { /** * Whether to recurse into the object's properties. * * @default true */ recurse?: boolean; /** * The value to assign to the property * * Use the value of the `object` parameter to keep the same value. */ newValue: T; }; export type Visitor = { enter?(object: T, key: string | undefined): VisitResult; leave?(object: T, key: string | undefined): T; }; export declare function visitObject(node: T, visitor: Visitor): T;