import type { NamedType, NodeDocument, NodeType } from './types.js'; export interface SimplifyOptions { /** * If true, and-types of objects are merged into one type. * This will also include ref-types that reference objects, they will all be * merged into one object. * * @default false */ mergeObjects?: boolean; } export declare function simplify(node: T, options?: SimplifyOptions): NamedType; export declare function simplify(node: Array, options?: SimplifyOptions): Array; export declare function simplify(node: T, options?: SimplifyOptions): NodeType; export declare function simplify(node: Array, options?: SimplifyOptions): NodeType; export declare function simplify(node: NodeDocument<1, T>, options?: SimplifyOptions): NodeDocument<1, NodeType>; interface SimplifyContext { refs: Map; } export declare function simplifyImpl(node: Type, ctx: Required & SimplifyContext): Type; export {};