import { Type } from "./Type"; import { TypeBuilder } from "./TypeBuilder"; import { TypeLookerUp, GraphRewriteBuilder, BaseGraphRewriteBuilder } from "./GraphRewriting"; import { UnionBuilder } from "./UnionBuilder"; import { TypeAttributes } from "./attributes/TypeAttributes"; import { TypeRef } from "./TypeGraph"; export declare class UnifyUnionBuilder extends UnionBuilder { private readonly _makeObjectTypes; private readonly _makeClassesFixed; private readonly _unifyTypes; constructor(typeBuilder: BaseGraphRewriteBuilder, _makeObjectTypes: boolean, _makeClassesFixed: boolean, _unifyTypes: (typesToUnify: TypeRef[]) => TypeRef); protected makeObject(objectRefs: TypeRef[], typeAttributes: TypeAttributes, forwardingRef: TypeRef | undefined): TypeRef; protected makeArray(arrays: TypeRef[], typeAttributes: TypeAttributes, forwardingRef: TypeRef | undefined): TypeRef; } export declare function unionBuilderForUnification(typeBuilder: GraphRewriteBuilder, makeObjectTypes: boolean, makeClassesFixed: boolean, conflateNumbers: boolean): UnionBuilder; export declare function unifyTypes(types: ReadonlySet, typeAttributes: TypeAttributes, typeBuilder: GraphRewriteBuilder, unionBuilder: UnionBuilder, conflateNumbers: boolean, maybeForwardingRef?: TypeRef): TypeRef;