Modelina
    Preparing search index...

    Class GoFileGenerator

    Abstract file generator which each file generator much implement.

    Hierarchy (View Summary)

    Implements

    Index

    Constructors

    • Parameters

      • Optionaloptions: {
            constraints?: {
                constant?: ConstantConstraint<GoOptions>;
                enumKey?: EnumKeyConstraint<GoOptions>;
                enumValue?: EnumValueConstraint<GoOptions>;
                modelName?: ModelNameConstraint<GoOptions>;
                propertyKey?: PropertyKeyConstraint<GoOptions>;
            };
            defaultPreset?: {
                enum?: {
                    additionalContent?: (
                        args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                    ) => string | Promise<string>;
                    item?: (
                        args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel> & EnumArgs & {
                            index: number;
                        },
                    ) => string;
                    self?: (
                        args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                    ) => string | Promise<string>;
                };
                struct?: {
                    additionalContent?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                    ) => string | Promise<string>;
                    discriminator?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedUnionModel>,
                    ) => string;
                    field?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedObjectModel> & FieldArgs,
                    ) => string | Promise<string>;
                    self?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                    ) => string | Promise<string>;
                };
                union?: {
                    additionalContent?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                    ) => string | Promise<string>;
                    discriminator?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                    ) => string;
                    field?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel> & UnionFieldArgs,
                    ) => string | Promise<string>;
                    self?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                    ) => string | Promise<string>;
                };
            };
            dependencyManager?: | (() => AbstractDependencyManager)
            | {
                addDependency?: (dependency: string) => void;
                dependencies?: (string | undefined)[];
            };
            indentation?: { size?: number; type?: IndentationTypes };
            presets?: (
                | {
                    enum?: {
                        additionalContent?: (
                            args: PresetArgs<(...), (...), (...)>,
                        ) => (...) | (...);
                        item?: (args: (...) & (...) & (...)) => string;
                        self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                    };
                    struct?: {
                        additionalContent?: (
                            args: PresetArgs<(...), (...), (...)>,
                        ) => (...) | (...);
                        discriminator?: (args: PresetArgs<(...), (...), (...)>) => string;
                        field?: (args: (...) & (...)) => (...) | (...);
                        self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                    };
                    union?: {
                        additionalContent?: (
                            args: PresetArgs<(...), (...), (...)>,
                        ) => (...) | (...);
                        discriminator?: (args: PresetArgs<(...), (...), (...)>) => string;
                        field?: (args: (...) & (...)) => (...) | (...);
                        self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                    };
                }
                | {
                    options?: any;
                    preset?: {
                        enum?: {
                            additionalContent?: (...)
                            | (...);
                            item?: (...) | (...);
                            self?: (...) | (...);
                        };
                        struct?: {
                            additionalContent?: (...)
                            | (...);
                            discriminator?: (...) | (...);
                            field?: (...) | (...);
                            self?: (...) | (...);
                        };
                        union?: {
                            additionalContent?: (...)
                            | (...);
                            discriminator?: (...) | (...);
                            field?: (...) | (...);
                            self?: (...) | (...);
                        };
                    };
                }
                | undefined
            )[];
            processorOptions?: {
                asyncapi?: {
                    __unstable?: { resolver?: { resolvers?: (...)
                    | (...) } };
                    applyTraits?: boolean;
                    parseSchemas?: boolean;
                    source?: string;
                    validateOptions?: {
                        __unstable?: { resolver?: (...) | (...) };
                        allowedSeverity?: {
                            error?: (...) | (...) | (...);
                            hint?: (...) | (...) | (...);
                            info?: (...) | (...) | (...);
                            warning?: (...) | (...) | (...);
                        };
                        ignoreUnknownFormat?: boolean;
                    };
                };
                jsonSchema?: {
                    allowInheritance?: boolean;
                    disableCache?: boolean;
                    discriminator?: string;
                    ignoreAdditionalItems?: boolean;
                    ignoreAdditionalProperties?: boolean;
                    interpretSingleEnumAsConst?: boolean;
                    propertyNameForAdditionalProperties?: string;
                };
                openapi?: { includeComponentSchemas?: boolean };
                typescript?: {
                    aliasRef?: boolean;
                    compilerOptions?: {
                        allowJs?: boolean;
                        allowSyntheticDefaultImports?: boolean;
                        allowUmdGlobalAccess?: boolean;
                        allowUnreachableCode?: boolean;
                        allowUnusedLabels?: boolean;
                        alwaysStrict?: boolean;
                        assumeChangesOnlyAffectDirectDependencies?: boolean;
                        baseUrl?: string;
                        charset?: string;
                        checkJs?: boolean;
                        composite?: boolean;
                        declaration?: boolean;
                        declarationDir?: string;
                        declarationMap?: boolean;
                        disableReferencedProjectLoad?: boolean;
                        disableSizeLimit?: boolean;
                        disableSolutionSearching?: boolean;
                        disableSourceOfProjectReferenceRedirect?: boolean;
                        downlevelIteration?: boolean;
                        emitBOM?: boolean;
                        emitDeclarationOnly?: boolean;
                        emitDecoratorMetadata?: boolean;
                        esModuleInterop?: boolean;
                        exactOptionalPropertyTypes?: boolean;
                        experimentalDecorators?: boolean;
                        forceConsistentCasingInFileNames?: boolean;
                        importHelpers?: boolean;
                        importsNotUsedAsValues?: ImportsNotUsedAsValues;
                        incremental?: boolean;
                        inlineSourceMap?: boolean;
                        inlineSources?: boolean;
                        isolatedModules?: boolean;
                        jsx?: JsxEmit;
                        jsxFactory?: string;
                        jsxFragmentFactory?: string;
                        jsxImportSource?: string;
                        keyofStringsOnly?: boolean;
                        lib?: ((...) | (...))[];
                        locale?: string;
                        mapRoot?: string;
                        maxNodeModuleJsDepth?: number;
                        module?: ModuleKind;
                        moduleDetection?: ModuleDetectionKind;
                        moduleResolution?: ModuleResolutionKind;
                        moduleSuffixes?: ((...) | (...))[];
                        newLine?: NewLineKind;
                        noEmit?: boolean;
                        noEmitHelpers?: boolean;
                        noEmitOnError?: boolean;
                        noErrorTruncation?: boolean;
                        noFallthroughCasesInSwitch?: boolean;
                        noImplicitAny?: boolean;
                        noImplicitOverride?: boolean;
                        noImplicitReturns?: boolean;
                        noImplicitThis?: boolean;
                        noImplicitUseStrict?: boolean;
                        noLib?: boolean;
                        noPropertyAccessFromIndexSignature?: boolean;
                        noResolve?: boolean;
                        noStrictGenericChecks?: boolean;
                        noUncheckedIndexedAccess?: boolean;
                        noUnusedLocals?: boolean;
                        noUnusedParameters?: boolean;
                        out?: string;
                        outDir?: string;
                        outFile?: string;
                        paths?: { [key: string]: (...) | (...) };
                        preserveConstEnums?: boolean;
                        preserveSymlinks?: boolean;
                        preserveValueImports?: boolean;
                        project?: string;
                        reactNamespace?: string;
                        removeComments?: boolean;
                        resolveJsonModule?: boolean;
                        rootDir?: string;
                        rootDirs?: ((...) | (...))[];
                        skipDefaultLibCheck?: boolean;
                        skipLibCheck?: boolean;
                        sourceMap?: boolean;
                        sourceRoot?: string;
                        strict?: boolean;
                        strictBindCallApply?: boolean;
                        strictFunctionTypes?: boolean;
                        strictNullChecks?: boolean;
                        strictPropertyInitialization?: boolean;
                        stripInternal?: boolean;
                        suppressExcessPropertyErrors?: boolean;
                        suppressImplicitAnyIndexErrors?: boolean;
                        target?: ScriptTarget;
                        traceResolution?: boolean;
                        tsBuildInfoFile?: string;
                        typeRoots?: ((...) | (...))[];
                        types?: ((...) | (...))[];
                        useDefineForClassFields?: boolean;
                        useUnknownInCatchVariables?: boolean;
                        [key: string]:
                            | string
                            | number
                            | boolean
                            | ((...) | (...))[]
                            | ((...) | (...) | (...))[]
                            | { [key: string]: (...) | (...) }
                            | ((...) | (...))[]
                            | ((...) | (...))[]
                            | {
                                _declarationBrand?: any;
                                amdDependencies?: (...) | (...);
                                decorators?: undefined;
                                end?: (...) | (...);
                                endOfFileToken?: (...) | (...);
                                extendedSourceFiles?: (...) | (...);
                                fileName?: (...) | (...);
                                flags?: (...) | (...);
                                forEachChild?: (...) | (...);
                                getChildAt?: (...) | (...);
                                getChildCount?: (...) | (...);
                                getChildren?: (...) | (...);
                                getEnd?: (...) | (...);
                                getFirstToken?: (...) | (...);
                                getFullStart?: (...) | (...);
                                getFullText?: (...) | (...);
                                getFullWidth?: (...) | (...);
                                getLastToken?: (...) | (...);
                                getLeadingTriviaWidth?: (...) | (...);
                                getLineAndCharacterOfPosition?: (...) | (...);
                                getLineEndOfPosition?: (...) | (...);
                                getLineStarts?: (...) | (...);
                                getPositionOfLineAndCharacter?: (...) | (...);
                                getSourceFile?: (...) | (...);
                                getStart?: (...) | (...);
                                getText?: (...) | (...);
                                getWidth?: (...) | (...);
                                hasNoDefaultLib?: (...) | (...) | (...);
                                impliedNodeFormat?: (...) | (...) | (...);
                                isDeclarationFile?: (...) | (...) | (...);
                                kind?: (...) | (...);
                                languageVariant?: (...) | (...);
                                languageVersion?: (...) | (...);
                                libReferenceDirectives?: (...) | (...);
                                modifiers?: (...) | (...);
                                moduleName?: (...) | (...);
                                parent?: (...) | (...);
                                pos?: (...) | (...);
                                referencedFiles?: (...) | (...);
                                statements?: (...) | (...);
                                text?: (...) | (...);
                                typeReferenceDirectives?: (...) | (...);
                                update?: (...) | (...);
                            }
                            | null
                            | undefined;
                    };
                    defaultNumberType?: "number"
                    | "integer";
                    defaultProps?: boolean;
                    esModuleInterop?: boolean;
                    excludePrivate?: boolean;
                    id?: string;
                    ignoreErrors?: boolean;
                    include?: (string | undefined)[];
                    noExtraProps?: boolean;
                    out?: string;
                    propOrder?: boolean;
                    ref?: boolean;
                    rejectDateType?: boolean;
                    required?: boolean;
                    skipLibCheck?: boolean;
                    strictNullChecks?: boolean;
                    titles?: boolean;
                    topRef?: boolean;
                    tsNodeRegister?: boolean;
                    typeOfKeyword?: boolean;
                    uniqueNames?: boolean;
                    validationKeywords?: (string | undefined)[];
                };
            };
            typeMapping?: {
                Any?: TypeMappingFunction<
                    ConstrainedAnyModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Array?: TypeMappingFunction<
                    ConstrainedArrayModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Boolean?: TypeMappingFunction<
                    ConstrainedBooleanModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Dictionary?: TypeMappingFunction<
                    ConstrainedDictionaryModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Enum?: TypeMappingFunction<
                    ConstrainedEnumModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Float?: TypeMappingFunction<
                    ConstrainedFloatModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Integer?: TypeMappingFunction<
                    ConstrainedIntegerModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Object?: TypeMappingFunction<
                    ConstrainedObjectModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Reference?: TypeMappingFunction<
                    ConstrainedReferenceModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                String?: TypeMappingFunction<
                    ConstrainedStringModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Tuple?: TypeMappingFunction<
                    ConstrainedTupleModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Union?: TypeMappingFunction<
                    ConstrainedUnionModel,
                    GoOptions,
                    GoDependencyManager,
                >;
            };
            unionAnyModelName?: string;
            unionArrModelName?: string;
            unionDictModelName?: string;
        }
        • Optionalconstraints?: {
              constant?: ConstantConstraint<GoOptions>;
              enumKey?: EnumKeyConstraint<GoOptions>;
              enumValue?: EnumValueConstraint<GoOptions>;
              modelName?: ModelNameConstraint<GoOptions>;
              propertyKey?: PropertyKeyConstraint<GoOptions>;
          }
        • OptionaldefaultPreset?: {
              enum?: {
                  additionalContent?: (
                      args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                  ) => string | Promise<string>;
                  item?: (
                      args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel> & EnumArgs & {
                          index: number;
                      },
                  ) => string;
                  self?: (
                      args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                  ) => string | Promise<string>;
              };
              struct?: {
                  additionalContent?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                  ) => string | Promise<string>;
                  discriminator?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedUnionModel>,
                  ) => string;
                  field?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedObjectModel> & FieldArgs,
                  ) => string | Promise<string>;
                  self?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                  ) => string | Promise<string>;
              };
              union?: {
                  additionalContent?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                  ) => string | Promise<string>;
                  discriminator?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                  ) => string;
                  field?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel> & UnionFieldArgs,
                  ) => string | Promise<string>;
                  self?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                  ) => string | Promise<string>;
              };
          }
        • OptionaldependencyManager?:
              | (() => AbstractDependencyManager)
              | {
                  addDependency?: (dependency: string) => void;
                  dependencies?: (string | undefined)[];
              }

          This dependency manager type serves two functions.

          1. It can be used to provide a factory for generate functions
          2. It can be used to provide a single instance of a dependency manager, to add all dependencies together

          This depends on context and where it's used.

        • Optionalindentation?: { size?: number; type?: IndentationTypes }
        • Optionalpresets?: (
              | {
                  enum?: {
                      additionalContent?: (
                          args: PresetArgs<(...), (...), (...)>,
                      ) => (...) | (...);
                      item?: (args: (...) & (...) & (...)) => string;
                      self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                  };
                  struct?: {
                      additionalContent?: (
                          args: PresetArgs<(...), (...), (...)>,
                      ) => (...) | (...);
                      discriminator?: (args: PresetArgs<(...), (...), (...)>) => string;
                      field?: (args: (...) & (...)) => (...) | (...);
                      self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                  };
                  union?: {
                      additionalContent?: (
                          args: PresetArgs<(...), (...), (...)>,
                      ) => (...) | (...);
                      discriminator?: (args: PresetArgs<(...), (...), (...)>) => string;
                      field?: (args: (...) & (...)) => (...) | (...);
                      self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                  };
              }
              | {
                  options?: any;
                  preset?: {
                      enum?: {
                          additionalContent?: (...)
                          | (...);
                          item?: (...) | (...);
                          self?: (...) | (...);
                      };
                      struct?: {
                          additionalContent?: (...)
                          | (...);
                          discriminator?: (...) | (...);
                          field?: (...) | (...);
                          self?: (...) | (...);
                      };
                      union?: {
                          additionalContent?: (...)
                          | (...);
                          discriminator?: (...) | (...);
                          field?: (...) | (...);
                          self?: (...) | (...);
                      };
                  };
              }
              | undefined
          )[]
        • OptionalprocessorOptions?: {
              asyncapi?: {
                  __unstable?: { resolver?: { resolvers?: (...) | (...) } };
                  applyTraits?: boolean;
                  parseSchemas?: boolean;
                  source?: string;
                  validateOptions?: {
                      __unstable?: { resolver?: (...) | (...) };
                      allowedSeverity?: {
                          error?: (...) | (...) | (...);
                          hint?: (...) | (...) | (...);
                          info?: (...) | (...) | (...);
                          warning?: (...) | (...) | (...);
                      };
                      ignoreUnknownFormat?: boolean;
                  };
              };
              jsonSchema?: {
                  allowInheritance?: boolean;
                  disableCache?: boolean;
                  discriminator?: string;
                  ignoreAdditionalItems?: boolean;
                  ignoreAdditionalProperties?: boolean;
                  interpretSingleEnumAsConst?: boolean;
                  propertyNameForAdditionalProperties?: string;
              };
              openapi?: { includeComponentSchemas?: boolean };
              typescript?: {
                  aliasRef?: boolean;
                  compilerOptions?: {
                      allowJs?: boolean;
                      allowSyntheticDefaultImports?: boolean;
                      allowUmdGlobalAccess?: boolean;
                      allowUnreachableCode?: boolean;
                      allowUnusedLabels?: boolean;
                      alwaysStrict?: boolean;
                      assumeChangesOnlyAffectDirectDependencies?: boolean;
                      baseUrl?: string;
                      charset?: string;
                      checkJs?: boolean;
                      composite?: boolean;
                      declaration?: boolean;
                      declarationDir?: string;
                      declarationMap?: boolean;
                      disableReferencedProjectLoad?: boolean;
                      disableSizeLimit?: boolean;
                      disableSolutionSearching?: boolean;
                      disableSourceOfProjectReferenceRedirect?: boolean;
                      downlevelIteration?: boolean;
                      emitBOM?: boolean;
                      emitDeclarationOnly?: boolean;
                      emitDecoratorMetadata?: boolean;
                      esModuleInterop?: boolean;
                      exactOptionalPropertyTypes?: boolean;
                      experimentalDecorators?: boolean;
                      forceConsistentCasingInFileNames?: boolean;
                      importHelpers?: boolean;
                      importsNotUsedAsValues?: ImportsNotUsedAsValues;
                      incremental?: boolean;
                      inlineSourceMap?: boolean;
                      inlineSources?: boolean;
                      isolatedModules?: boolean;
                      jsx?: JsxEmit;
                      jsxFactory?: string;
                      jsxFragmentFactory?: string;
                      jsxImportSource?: string;
                      keyofStringsOnly?: boolean;
                      lib?: ((...) | (...))[];
                      locale?: string;
                      mapRoot?: string;
                      maxNodeModuleJsDepth?: number;
                      module?: ModuleKind;
                      moduleDetection?: ModuleDetectionKind;
                      moduleResolution?: ModuleResolutionKind;
                      moduleSuffixes?: ((...) | (...))[];
                      newLine?: NewLineKind;
                      noEmit?: boolean;
                      noEmitHelpers?: boolean;
                      noEmitOnError?: boolean;
                      noErrorTruncation?: boolean;
                      noFallthroughCasesInSwitch?: boolean;
                      noImplicitAny?: boolean;
                      noImplicitOverride?: boolean;
                      noImplicitReturns?: boolean;
                      noImplicitThis?: boolean;
                      noImplicitUseStrict?: boolean;
                      noLib?: boolean;
                      noPropertyAccessFromIndexSignature?: boolean;
                      noResolve?: boolean;
                      noStrictGenericChecks?: boolean;
                      noUncheckedIndexedAccess?: boolean;
                      noUnusedLocals?: boolean;
                      noUnusedParameters?: boolean;
                      out?: string;
                      outDir?: string;
                      outFile?: string;
                      paths?: { [key: string]: (...) | (...) };
                      preserveConstEnums?: boolean;
                      preserveSymlinks?: boolean;
                      preserveValueImports?: boolean;
                      project?: string;
                      reactNamespace?: string;
                      removeComments?: boolean;
                      resolveJsonModule?: boolean;
                      rootDir?: string;
                      rootDirs?: ((...) | (...))[];
                      skipDefaultLibCheck?: boolean;
                      skipLibCheck?: boolean;
                      sourceMap?: boolean;
                      sourceRoot?: string;
                      strict?: boolean;
                      strictBindCallApply?: boolean;
                      strictFunctionTypes?: boolean;
                      strictNullChecks?: boolean;
                      strictPropertyInitialization?: boolean;
                      stripInternal?: boolean;
                      suppressExcessPropertyErrors?: boolean;
                      suppressImplicitAnyIndexErrors?: boolean;
                      target?: ScriptTarget;
                      traceResolution?: boolean;
                      tsBuildInfoFile?: string;
                      typeRoots?: ((...) | (...))[];
                      types?: ((...) | (...))[];
                      useDefineForClassFields?: boolean;
                      useUnknownInCatchVariables?: boolean;
                      [key: string]:
                          | string
                          | number
                          | boolean
                          | ((...) | (...))[]
                          | ((...) | (...) | (...))[]
                          | { [key: string]: (...) | (...) }
                          | ((...) | (...))[]
                          | ((...) | (...))[]
                          | {
                              _declarationBrand?: any;
                              amdDependencies?: (...) | (...);
                              decorators?: undefined;
                              end?: (...) | (...);
                              endOfFileToken?: (...) | (...);
                              extendedSourceFiles?: (...) | (...);
                              fileName?: (...) | (...);
                              flags?: (...) | (...);
                              forEachChild?: (...) | (...);
                              getChildAt?: (...) | (...);
                              getChildCount?: (...) | (...);
                              getChildren?: (...) | (...);
                              getEnd?: (...) | (...);
                              getFirstToken?: (...) | (...);
                              getFullStart?: (...) | (...);
                              getFullText?: (...) | (...);
                              getFullWidth?: (...) | (...);
                              getLastToken?: (...) | (...);
                              getLeadingTriviaWidth?: (...) | (...);
                              getLineAndCharacterOfPosition?: (...) | (...);
                              getLineEndOfPosition?: (...) | (...);
                              getLineStarts?: (...) | (...);
                              getPositionOfLineAndCharacter?: (...) | (...);
                              getSourceFile?: (...) | (...);
                              getStart?: (...) | (...);
                              getText?: (...) | (...);
                              getWidth?: (...) | (...);
                              hasNoDefaultLib?: (...) | (...) | (...);
                              impliedNodeFormat?: (...) | (...) | (...);
                              isDeclarationFile?: (...) | (...) | (...);
                              kind?: (...) | (...);
                              languageVariant?: (...) | (...);
                              languageVersion?: (...) | (...);
                              libReferenceDirectives?: (...) | (...);
                              modifiers?: (...) | (...);
                              moduleName?: (...) | (...);
                              parent?: (...) | (...);
                              pos?: (...) | (...);
                              referencedFiles?: (...) | (...);
                              statements?: (...) | (...);
                              text?: (...) | (...);
                              typeReferenceDirectives?: (...) | (...);
                              update?: (...) | (...);
                          }
                          | null
                          | undefined;
                  };
                  defaultNumberType?: "number"
                  | "integer";
                  defaultProps?: boolean;
                  esModuleInterop?: boolean;
                  excludePrivate?: boolean;
                  id?: string;
                  ignoreErrors?: boolean;
                  include?: (string | undefined)[];
                  noExtraProps?: boolean;
                  out?: string;
                  propOrder?: boolean;
                  ref?: boolean;
                  rejectDateType?: boolean;
                  required?: boolean;
                  skipLibCheck?: boolean;
                  strictNullChecks?: boolean;
                  titles?: boolean;
                  topRef?: boolean;
                  tsNodeRegister?: boolean;
                  typeOfKeyword?: boolean;
                  uniqueNames?: boolean;
                  validationKeywords?: (string | undefined)[];
              };
          }
          • Optionalasyncapi?: {
                __unstable?: { resolver?: { resolvers?: (...) | (...) } };
                applyTraits?: boolean;
                parseSchemas?: boolean;
                source?: string;
                validateOptions?: {
                    __unstable?: { resolver?: (...) | (...) };
                    allowedSeverity?: {
                        error?: (...) | (...) | (...);
                        hint?: (...) | (...) | (...);
                        info?: (...) | (...) | (...);
                        warning?: (...) | (...) | (...);
                    };
                    ignoreUnknownFormat?: boolean;
                };
            }
          • OptionaljsonSchema?: {
                allowInheritance?: boolean;
                disableCache?: boolean;
                discriminator?: string;
                ignoreAdditionalItems?: boolean;
                ignoreAdditionalProperties?: boolean;
                interpretSingleEnumAsConst?: boolean;
                propertyNameForAdditionalProperties?: string;
            }
            • OptionalallowInheritance?: boolean
            • OptionaldisableCache?: boolean

              This options disables the seenSchemas cache in the Interpreter. Use this option to disable the seenSchemas cache when interpreting schemas. This will affect merging of schemas, and should only be used by the internal interpreters when allowInheritance is set to true. This allows the internal interpreters to keep clean copies of the schemas as CommonModel's.

            • Optionaldiscriminator?: string

              When interpreting a schema with discriminator set, this property will be set best by the individual interpreters to make sure the discriminator becomes an enum.

            • OptionalignoreAdditionalItems?: boolean

              For JSON Schema draft 7, additionalItems are by default true, but it might create an unintended types for arrays.

              Use this option to ignore default additionalItems for models, as long as there is other types sat for the array.

              ONLY use this option if you do not have control over the schema files you use to generate the models from. Instead you should adapt your schemas to be more strict by setting additionalItems: false.

            • OptionalignoreAdditionalProperties?: boolean

              For JSON Schema draft 7, additionalProperties are by default true, but it might create an unintended property for the models.

              Use this option to ignore default additionalProperties for models that has other properties with them.

              ONLY use this option if you do not have control over your schema files. Instead adapt your schemas to be more strict by setting additionalProperties: false.

            • OptionalinterpretSingleEnumAsConst?: boolean

              This option enables that a single enum value {enum: ['test']} is interpreted the same as if the value was {const: 'test'} Use this option to reduce the number of enums being created and use constant values instead.

            • OptionalpropertyNameForAdditionalProperties?: string

              This option changes which property name that should be used to represent additionalProperties in JSON Schema

          • Optionalopenapi?: { includeComponentSchemas?: boolean }
          • Optionaltypescript?: {
                aliasRef?: boolean;
                compilerOptions?: {
                    allowJs?: boolean;
                    allowSyntheticDefaultImports?: boolean;
                    allowUmdGlobalAccess?: boolean;
                    allowUnreachableCode?: boolean;
                    allowUnusedLabels?: boolean;
                    alwaysStrict?: boolean;
                    assumeChangesOnlyAffectDirectDependencies?: boolean;
                    baseUrl?: string;
                    charset?: string;
                    checkJs?: boolean;
                    composite?: boolean;
                    declaration?: boolean;
                    declarationDir?: string;
                    declarationMap?: boolean;
                    disableReferencedProjectLoad?: boolean;
                    disableSizeLimit?: boolean;
                    disableSolutionSearching?: boolean;
                    disableSourceOfProjectReferenceRedirect?: boolean;
                    downlevelIteration?: boolean;
                    emitBOM?: boolean;
                    emitDeclarationOnly?: boolean;
                    emitDecoratorMetadata?: boolean;
                    esModuleInterop?: boolean;
                    exactOptionalPropertyTypes?: boolean;
                    experimentalDecorators?: boolean;
                    forceConsistentCasingInFileNames?: boolean;
                    importHelpers?: boolean;
                    importsNotUsedAsValues?: ImportsNotUsedAsValues;
                    incremental?: boolean;
                    inlineSourceMap?: boolean;
                    inlineSources?: boolean;
                    isolatedModules?: boolean;
                    jsx?: JsxEmit;
                    jsxFactory?: string;
                    jsxFragmentFactory?: string;
                    jsxImportSource?: string;
                    keyofStringsOnly?: boolean;
                    lib?: ((...) | (...))[];
                    locale?: string;
                    mapRoot?: string;
                    maxNodeModuleJsDepth?: number;
                    module?: ModuleKind;
                    moduleDetection?: ModuleDetectionKind;
                    moduleResolution?: ModuleResolutionKind;
                    moduleSuffixes?: ((...) | (...))[];
                    newLine?: NewLineKind;
                    noEmit?: boolean;
                    noEmitHelpers?: boolean;
                    noEmitOnError?: boolean;
                    noErrorTruncation?: boolean;
                    noFallthroughCasesInSwitch?: boolean;
                    noImplicitAny?: boolean;
                    noImplicitOverride?: boolean;
                    noImplicitReturns?: boolean;
                    noImplicitThis?: boolean;
                    noImplicitUseStrict?: boolean;
                    noLib?: boolean;
                    noPropertyAccessFromIndexSignature?: boolean;
                    noResolve?: boolean;
                    noStrictGenericChecks?: boolean;
                    noUncheckedIndexedAccess?: boolean;
                    noUnusedLocals?: boolean;
                    noUnusedParameters?: boolean;
                    out?: string;
                    outDir?: string;
                    outFile?: string;
                    paths?: { [key: string]: (...) | (...) };
                    preserveConstEnums?: boolean;
                    preserveSymlinks?: boolean;
                    preserveValueImports?: boolean;
                    project?: string;
                    reactNamespace?: string;
                    removeComments?: boolean;
                    resolveJsonModule?: boolean;
                    rootDir?: string;
                    rootDirs?: ((...) | (...))[];
                    skipDefaultLibCheck?: boolean;
                    skipLibCheck?: boolean;
                    sourceMap?: boolean;
                    sourceRoot?: string;
                    strict?: boolean;
                    strictBindCallApply?: boolean;
                    strictFunctionTypes?: boolean;
                    strictNullChecks?: boolean;
                    strictPropertyInitialization?: boolean;
                    stripInternal?: boolean;
                    suppressExcessPropertyErrors?: boolean;
                    suppressImplicitAnyIndexErrors?: boolean;
                    target?: ScriptTarget;
                    traceResolution?: boolean;
                    tsBuildInfoFile?: string;
                    typeRoots?: ((...) | (...))[];
                    types?: ((...) | (...))[];
                    useDefineForClassFields?: boolean;
                    useUnknownInCatchVariables?: boolean;
                    [key: string]:
                        | string
                        | number
                        | boolean
                        | ((...) | (...))[]
                        | ((...) | (...) | (...))[]
                        | { [key: string]: (...) | (...) }
                        | ((...) | (...))[]
                        | ((...) | (...))[]
                        | {
                            _declarationBrand?: any;
                            amdDependencies?: (...) | (...);
                            decorators?: undefined;
                            end?: (...) | (...);
                            endOfFileToken?: (...) | (...);
                            extendedSourceFiles?: (...) | (...);
                            fileName?: (...) | (...);
                            flags?: (...) | (...);
                            forEachChild?: (...) | (...);
                            getChildAt?: (...) | (...);
                            getChildCount?: (...) | (...);
                            getChildren?: (...) | (...);
                            getEnd?: (...) | (...);
                            getFirstToken?: (...) | (...);
                            getFullStart?: (...) | (...);
                            getFullText?: (...) | (...);
                            getFullWidth?: (...) | (...);
                            getLastToken?: (...) | (...);
                            getLeadingTriviaWidth?: (...) | (...);
                            getLineAndCharacterOfPosition?: (...) | (...);
                            getLineEndOfPosition?: (...) | (...);
                            getLineStarts?: (...) | (...);
                            getPositionOfLineAndCharacter?: (...) | (...);
                            getSourceFile?: (...) | (...);
                            getStart?: (...) | (...);
                            getText?: (...) | (...);
                            getWidth?: (...) | (...);
                            hasNoDefaultLib?: (...) | (...) | (...);
                            impliedNodeFormat?: (...) | (...) | (...);
                            isDeclarationFile?: (...) | (...) | (...);
                            kind?: (...) | (...);
                            languageVariant?: (...) | (...);
                            languageVersion?: (...) | (...);
                            libReferenceDirectives?: (...) | (...);
                            modifiers?: (...) | (...);
                            moduleName?: (...) | (...);
                            parent?: (...) | (...);
                            pos?: (...) | (...);
                            referencedFiles?: (...) | (...);
                            statements?: (...) | (...);
                            text?: (...) | (...);
                            typeReferenceDirectives?: (...) | (...);
                            update?: (...) | (...);
                        }
                        | null
                        | undefined;
                };
                defaultNumberType?: "number"
                | "integer";
                defaultProps?: boolean;
                esModuleInterop?: boolean;
                excludePrivate?: boolean;
                id?: string;
                ignoreErrors?: boolean;
                include?: (string | undefined)[];
                noExtraProps?: boolean;
                out?: string;
                propOrder?: boolean;
                ref?: boolean;
                rejectDateType?: boolean;
                required?: boolean;
                skipLibCheck?: boolean;
                strictNullChecks?: boolean;
                titles?: boolean;
                topRef?: boolean;
                tsNodeRegister?: boolean;
                typeOfKeyword?: boolean;
                uniqueNames?: boolean;
                validationKeywords?: (string | undefined)[];
            }
            • OptionalaliasRef?: boolean
            • OptionalcompilerOptions?: {
                  allowJs?: boolean;
                  allowSyntheticDefaultImports?: boolean;
                  allowUmdGlobalAccess?: boolean;
                  allowUnreachableCode?: boolean;
                  allowUnusedLabels?: boolean;
                  alwaysStrict?: boolean;
                  assumeChangesOnlyAffectDirectDependencies?: boolean;
                  baseUrl?: string;
                  charset?: string;
                  checkJs?: boolean;
                  composite?: boolean;
                  declaration?: boolean;
                  declarationDir?: string;
                  declarationMap?: boolean;
                  disableReferencedProjectLoad?: boolean;
                  disableSizeLimit?: boolean;
                  disableSolutionSearching?: boolean;
                  disableSourceOfProjectReferenceRedirect?: boolean;
                  downlevelIteration?: boolean;
                  emitBOM?: boolean;
                  emitDeclarationOnly?: boolean;
                  emitDecoratorMetadata?: boolean;
                  esModuleInterop?: boolean;
                  exactOptionalPropertyTypes?: boolean;
                  experimentalDecorators?: boolean;
                  forceConsistentCasingInFileNames?: boolean;
                  importHelpers?: boolean;
                  importsNotUsedAsValues?: ImportsNotUsedAsValues;
                  incremental?: boolean;
                  inlineSourceMap?: boolean;
                  inlineSources?: boolean;
                  isolatedModules?: boolean;
                  jsx?: JsxEmit;
                  jsxFactory?: string;
                  jsxFragmentFactory?: string;
                  jsxImportSource?: string;
                  keyofStringsOnly?: boolean;
                  lib?: ((...) | (...))[];
                  locale?: string;
                  mapRoot?: string;
                  maxNodeModuleJsDepth?: number;
                  module?: ModuleKind;
                  moduleDetection?: ModuleDetectionKind;
                  moduleResolution?: ModuleResolutionKind;
                  moduleSuffixes?: ((...) | (...))[];
                  newLine?: NewLineKind;
                  noEmit?: boolean;
                  noEmitHelpers?: boolean;
                  noEmitOnError?: boolean;
                  noErrorTruncation?: boolean;
                  noFallthroughCasesInSwitch?: boolean;
                  noImplicitAny?: boolean;
                  noImplicitOverride?: boolean;
                  noImplicitReturns?: boolean;
                  noImplicitThis?: boolean;
                  noImplicitUseStrict?: boolean;
                  noLib?: boolean;
                  noPropertyAccessFromIndexSignature?: boolean;
                  noResolve?: boolean;
                  noStrictGenericChecks?: boolean;
                  noUncheckedIndexedAccess?: boolean;
                  noUnusedLocals?: boolean;
                  noUnusedParameters?: boolean;
                  out?: string;
                  outDir?: string;
                  outFile?: string;
                  paths?: { [key: string]: (...) | (...) };
                  preserveConstEnums?: boolean;
                  preserveSymlinks?: boolean;
                  preserveValueImports?: boolean;
                  project?: string;
                  reactNamespace?: string;
                  removeComments?: boolean;
                  resolveJsonModule?: boolean;
                  rootDir?: string;
                  rootDirs?: ((...) | (...))[];
                  skipDefaultLibCheck?: boolean;
                  skipLibCheck?: boolean;
                  sourceMap?: boolean;
                  sourceRoot?: string;
                  strict?: boolean;
                  strictBindCallApply?: boolean;
                  strictFunctionTypes?: boolean;
                  strictNullChecks?: boolean;
                  strictPropertyInitialization?: boolean;
                  stripInternal?: boolean;
                  suppressExcessPropertyErrors?: boolean;
                  suppressImplicitAnyIndexErrors?: boolean;
                  target?: ScriptTarget;
                  traceResolution?: boolean;
                  tsBuildInfoFile?: string;
                  typeRoots?: ((...) | (...))[];
                  types?: ((...) | (...))[];
                  useDefineForClassFields?: boolean;
                  useUnknownInCatchVariables?: boolean;
                  [key: string]:
                      | string
                      | number
                      | boolean
                      | ((...) | (...))[]
                      | ((...) | (...) | (...))[]
                      | { [key: string]: (...) | (...) }
                      | ((...) | (...))[]
                      | ((...) | (...))[]
                      | {
                          _declarationBrand?: any;
                          amdDependencies?: (...) | (...);
                          decorators?: undefined;
                          end?: (...) | (...);
                          endOfFileToken?: (...) | (...);
                          extendedSourceFiles?: (...) | (...);
                          fileName?: (...) | (...);
                          flags?: (...) | (...);
                          forEachChild?: (...) | (...);
                          getChildAt?: (...) | (...);
                          getChildCount?: (...) | (...);
                          getChildren?: (...) | (...);
                          getEnd?: (...) | (...);
                          getFirstToken?: (...) | (...);
                          getFullStart?: (...) | (...);
                          getFullText?: (...) | (...);
                          getFullWidth?: (...) | (...);
                          getLastToken?: (...) | (...);
                          getLeadingTriviaWidth?: (...) | (...);
                          getLineAndCharacterOfPosition?: (...) | (...);
                          getLineEndOfPosition?: (...) | (...);
                          getLineStarts?: (...) | (...);
                          getPositionOfLineAndCharacter?: (...) | (...);
                          getSourceFile?: (...) | (...);
                          getStart?: (...) | (...);
                          getText?: (...) | (...);
                          getWidth?: (...) | (...);
                          hasNoDefaultLib?: (...) | (...) | (...);
                          impliedNodeFormat?: (...) | (...) | (...);
                          isDeclarationFile?: (...) | (...) | (...);
                          kind?: (...) | (...);
                          languageVariant?: (...) | (...);
                          languageVersion?: (...) | (...);
                          libReferenceDirectives?: (...) | (...);
                          modifiers?: (...) | (...);
                          moduleName?: (...) | (...);
                          parent?: (...) | (...);
                          pos?: (...) | (...);
                          referencedFiles?: (...) | (...);
                          statements?: (...) | (...);
                          text?: (...) | (...);
                          typeReferenceDirectives?: (...) | (...);
                          update?: (...) | (...);
                      }
                      | null
                      | undefined;
              }
              • OptionalallowJs?: boolean
              • OptionalallowSyntheticDefaultImports?: boolean
              • OptionalallowUmdGlobalAccess?: boolean
              • OptionalallowUnreachableCode?: boolean
              • OptionalallowUnusedLabels?: boolean
              • OptionalalwaysStrict?: boolean
              • OptionalassumeChangesOnlyAffectDirectDependencies?: boolean
              • OptionalbaseUrl?: string
              • Optionalcharset?: string
              • OptionalcheckJs?: boolean
              • Optionalcomposite?: boolean
              • Optionaldeclaration?: boolean
              • OptionaldeclarationDir?: string
              • OptionaldeclarationMap?: boolean
              • OptionaldisableReferencedProjectLoad?: boolean
              • OptionaldisableSizeLimit?: boolean
              • OptionaldisableSolutionSearching?: boolean
              • OptionaldisableSourceOfProjectReferenceRedirect?: boolean
              • OptionaldownlevelIteration?: boolean
              • OptionalemitBOM?: boolean
              • OptionalemitDeclarationOnly?: boolean
              • OptionalemitDecoratorMetadata?: boolean
              • OptionalesModuleInterop?: boolean
              • OptionalexactOptionalPropertyTypes?: boolean
              • OptionalexperimentalDecorators?: boolean
              • OptionalforceConsistentCasingInFileNames?: boolean
              • OptionalimportHelpers?: boolean
              • OptionalimportsNotUsedAsValues?: ImportsNotUsedAsValues
              • Optionalincremental?: boolean
              • OptionalinlineSourceMap?: boolean
              • OptionalinlineSources?: boolean
              • OptionalisolatedModules?: boolean
              • Optionaljsx?: JsxEmit
              • OptionaljsxFactory?: string
              • OptionaljsxFragmentFactory?: string
              • OptionaljsxImportSource?: string
              • OptionalkeyofStringsOnly?: boolean
              • Optionallib?: ((...) | (...))[]
              • Optionallocale?: string
              • OptionalmapRoot?: string
              • OptionalmaxNodeModuleJsDepth?: number
              • Optionalmodule?: ModuleKind
              • OptionalmoduleDetection?: ModuleDetectionKind
              • OptionalmoduleResolution?: ModuleResolutionKind
              • OptionalmoduleSuffixes?: ((...) | (...))[]
              • OptionalnewLine?: NewLineKind
              • OptionalnoEmit?: boolean
              • OptionalnoEmitHelpers?: boolean
              • OptionalnoEmitOnError?: boolean
              • OptionalnoErrorTruncation?: boolean
              • OptionalnoFallthroughCasesInSwitch?: boolean
              • OptionalnoImplicitAny?: boolean
              • OptionalnoImplicitOverride?: boolean
              • OptionalnoImplicitReturns?: boolean
              • OptionalnoImplicitThis?: boolean
              • OptionalnoImplicitUseStrict?: boolean
              • OptionalnoLib?: boolean
              • OptionalnoPropertyAccessFromIndexSignature?: boolean
              • OptionalnoResolve?: boolean
              • OptionalnoStrictGenericChecks?: boolean
              • OptionalnoUncheckedIndexedAccess?: boolean
              • OptionalnoUnusedLocals?: boolean
              • OptionalnoUnusedParameters?: boolean
              • Optionalout?: string
              • OptionaloutDir?: string
              • OptionaloutFile?: string
              • Optionalpaths?: { [key: string]: (...) | (...) }
              • OptionalpreserveConstEnums?: boolean
              • OptionalpreserveSymlinks?: boolean
              • OptionalpreserveValueImports?: boolean
              • Optionalproject?: string
              • OptionalreactNamespace?: string
              • OptionalremoveComments?: boolean
              • OptionalresolveJsonModule?: boolean
              • OptionalrootDir?: string
              • OptionalrootDirs?: ((...) | (...))[]
              • OptionalskipDefaultLibCheck?: boolean
              • OptionalskipLibCheck?: boolean
              • OptionalsourceMap?: boolean
              • OptionalsourceRoot?: string
              • Optionalstrict?: boolean
              • OptionalstrictBindCallApply?: boolean
              • OptionalstrictFunctionTypes?: boolean
              • OptionalstrictNullChecks?: boolean
              • OptionalstrictPropertyInitialization?: boolean
              • OptionalstripInternal?: boolean
              • OptionalsuppressExcessPropertyErrors?: boolean
              • OptionalsuppressImplicitAnyIndexErrors?: boolean
              • Optionaltarget?: ScriptTarget
              • OptionaltraceResolution?: boolean
              • OptionaltsBuildInfoFile?: string
              • OptionaltypeRoots?: ((...) | (...))[]

                Paths used to compute primary types search locations

              • Optionaltypes?: ((...) | (...))[]
              • OptionaluseDefineForClassFields?: boolean
              • OptionaluseUnknownInCatchVariables?: boolean
            • OptionaldefaultNumberType?: "number" | "integer"
            • OptionaldefaultProps?: boolean
            • OptionalesModuleInterop?: boolean
            • OptionalexcludePrivate?: boolean
            • Optionalid?: string
            • OptionalignoreErrors?: boolean
            • Optionalinclude?: (string | undefined)[]
            • OptionalnoExtraProps?: boolean
            • Optionalout?: string
            • OptionalpropOrder?: boolean
            • Optionalref?: boolean
            • OptionalrejectDateType?: boolean
            • Optionalrequired?: boolean
            • OptionalskipLibCheck?: boolean
            • OptionalstrictNullChecks?: boolean
            • Optionaltitles?: boolean
            • OptionaltopRef?: boolean
            • OptionaltsNodeRegister?: boolean
            • OptionaltypeOfKeyword?: boolean
            • OptionaluniqueNames?: boolean
            • OptionalvalidationKeywords?: (string | undefined)[]
        • OptionaltypeMapping?: {
              Any?: TypeMappingFunction<
                  ConstrainedAnyModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Array?: TypeMappingFunction<
                  ConstrainedArrayModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Boolean?: TypeMappingFunction<
                  ConstrainedBooleanModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Dictionary?: TypeMappingFunction<
                  ConstrainedDictionaryModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Enum?: TypeMappingFunction<
                  ConstrainedEnumModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Float?: TypeMappingFunction<
                  ConstrainedFloatModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Integer?: TypeMappingFunction<
                  ConstrainedIntegerModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Object?: TypeMappingFunction<
                  ConstrainedObjectModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Reference?: TypeMappingFunction<
                  ConstrainedReferenceModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              String?: TypeMappingFunction<
                  ConstrainedStringModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Tuple?: TypeMappingFunction<
                  ConstrainedTupleModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Union?: TypeMappingFunction<
                  ConstrainedUnionModel,
                  GoOptions,
                  GoDependencyManager,
              >;
          }
        • OptionalunionAnyModelName?: string
        • OptionalunionArrModelName?: string
        • OptionalunionDictModelName?: string

      Returns GoFileGenerator

    Properties

    languageName: string
    options: GoOptions
    defaultCompleteModelOptions: GoRenderCompleteModelOptions = ...
    defaultOptions: GoOptions = ...

    Methods

    • Parameters

      • model: MetaModel
      • options: {
            constraints?: {
                constant?: ConstantConstraint<GoOptions>;
                enumKey?: EnumKeyConstraint<GoOptions>;
                enumValue?: EnumValueConstraint<GoOptions>;
                modelName?: ModelNameConstraint<GoOptions>;
                propertyKey?: PropertyKeyConstraint<GoOptions>;
            };
            defaultPreset?: {
                enum?: {
                    additionalContent?: (
                        args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                    ) => string | Promise<string>;
                    item?: (
                        args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel> & EnumArgs & {
                            index: number;
                        },
                    ) => string;
                    self?: (
                        args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                    ) => string | Promise<string>;
                };
                struct?: {
                    additionalContent?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                    ) => string | Promise<string>;
                    discriminator?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedUnionModel>,
                    ) => string;
                    field?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedObjectModel> & FieldArgs,
                    ) => string | Promise<string>;
                    self?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                    ) => string | Promise<string>;
                };
                union?: {
                    additionalContent?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                    ) => string | Promise<string>;
                    discriminator?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                    ) => string;
                    field?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel> & UnionFieldArgs,
                    ) => string | Promise<string>;
                    self?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                    ) => string | Promise<string>;
                };
            };
            dependencyManager?: | (() => AbstractDependencyManager)
            | {
                addDependency?: (dependency: string) => void;
                dependencies?: (string | undefined)[];
            };
            indentation?: { size?: number; type?: IndentationTypes };
            presets?: (
                | {
                    enum?: {
                        additionalContent?: (
                            args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                        ) => string | Promise<(...)>;
                        item?: (
                            args: PresetArgs<(...), (...), (...)> & EnumArgs & { index: ... },
                        ) => string;
                        self?: (
                            args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                        ) => string | Promise<(...)>;
                    };
                    struct?: {
                        additionalContent?: (
                            args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                        ) => string | Promise<(...)>;
                        discriminator?: (
                            args: PresetArgs<StructRenderer, any, ConstrainedUnionModel>,
                        ) => string;
                        field?: (
                            args: PresetArgs<(...), (...), (...)> & FieldArgs,
                        ) => string | Promise<(...)>;
                        self?: (
                            args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                        ) => string | Promise<(...)>;
                    };
                    union?: {
                        additionalContent?: (
                            args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                        ) => string | Promise<(...)>;
                        discriminator?: (
                            args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                        ) => string;
                        field?: (
                            args: PresetArgs<(...), (...), (...)> & UnionFieldArgs,
                        ) => string | Promise<(...)>;
                        self?: (
                            args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                        ) => string | Promise<(...)>;
                    };
                }
                | {
                    options?: any;
                    preset?: {
                        enum?: {
                            additionalContent?: (args: ...) => ...;
                            item?: (args: ...) => ...;
                            self?: (args: ...) => ...;
                        };
                        struct?: {
                            additionalContent?: (args: ...) => ...;
                            discriminator?: (args: ...) => ...;
                            field?: (args: ...) => ...;
                            self?: (args: ...) => ...;
                        };
                        union?: {
                            additionalContent?: (args: ...) => ...;
                            discriminator?: (args: ...) => ...;
                            field?: (args: ...) => ...;
                            self?: (args: ...) => ...;
                        };
                    };
                }
                | undefined
            )[];
            processorOptions?: {
                asyncapi?: {
                    __unstable?: { resolver?: { resolvers?: (...)[] } };
                    applyTraits?: boolean;
                    parseSchemas?: boolean;
                    source?: string;
                    validateOptions?: {
                        __unstable?: { resolver?: { resolvers?: ... } };
                        allowedSeverity?: {
                            error?: boolean;
                            hint?: boolean;
                            info?: boolean;
                            warning?: boolean;
                        };
                        ignoreUnknownFormat?: boolean;
                    };
                };
                jsonSchema?: {
                    allowInheritance?: boolean;
                    disableCache?: boolean;
                    discriminator?: string;
                    ignoreAdditionalItems?: boolean;
                    ignoreAdditionalProperties?: boolean;
                    interpretSingleEnumAsConst?: boolean;
                    propertyNameForAdditionalProperties?: string;
                };
                openapi?: { includeComponentSchemas?: boolean };
                typescript?: {
                    aliasRef?: boolean;
                    compilerOptions?: {
                        allowJs?: boolean;
                        allowSyntheticDefaultImports?: boolean;
                        allowUmdGlobalAccess?: boolean;
                        allowUnreachableCode?: boolean;
                        allowUnusedLabels?: boolean;
                        alwaysStrict?: boolean;
                        assumeChangesOnlyAffectDirectDependencies?: boolean;
                        baseUrl?: string;
                        charset?: string;
                        checkJs?: boolean;
                        composite?: boolean;
                        declaration?: boolean;
                        declarationDir?: string;
                        declarationMap?: boolean;
                        disableReferencedProjectLoad?: boolean;
                        disableSizeLimit?: boolean;
                        disableSolutionSearching?: boolean;
                        disableSourceOfProjectReferenceRedirect?: boolean;
                        downlevelIteration?: boolean;
                        emitBOM?: boolean;
                        emitDeclarationOnly?: boolean;
                        emitDecoratorMetadata?: boolean;
                        esModuleInterop?: boolean;
                        exactOptionalPropertyTypes?: boolean;
                        experimentalDecorators?: boolean;
                        forceConsistentCasingInFileNames?: boolean;
                        importHelpers?: boolean;
                        importsNotUsedAsValues?: ImportsNotUsedAsValues;
                        incremental?: boolean;
                        inlineSourceMap?: boolean;
                        inlineSources?: boolean;
                        isolatedModules?: boolean;
                        jsx?: JsxEmit;
                        jsxFactory?: string;
                        jsxFragmentFactory?: string;
                        jsxImportSource?: string;
                        keyofStringsOnly?: boolean;
                        lib?: (string | undefined)[];
                        locale?: string;
                        mapRoot?: string;
                        maxNodeModuleJsDepth?: number;
                        module?: ModuleKind;
                        moduleDetection?: ModuleDetectionKind;
                        moduleResolution?: ModuleResolutionKind;
                        moduleSuffixes?: (string | undefined)[];
                        newLine?: NewLineKind;
                        noEmit?: boolean;
                        noEmitHelpers?: boolean;
                        noEmitOnError?: boolean;
                        noErrorTruncation?: boolean;
                        noFallthroughCasesInSwitch?: boolean;
                        noImplicitAny?: boolean;
                        noImplicitOverride?: boolean;
                        noImplicitReturns?: boolean;
                        noImplicitThis?: boolean;
                        noImplicitUseStrict?: boolean;
                        noLib?: boolean;
                        noPropertyAccessFromIndexSignature?: boolean;
                        noResolve?: boolean;
                        noStrictGenericChecks?: boolean;
                        noUncheckedIndexedAccess?: boolean;
                        noUnusedLocals?: boolean;
                        noUnusedParameters?: boolean;
                        out?: string;
                        outDir?: string;
                        outFile?: string;
                        paths?: { [key: string]: (...)[] | undefined };
                        preserveConstEnums?: boolean;
                        preserveSymlinks?: boolean;
                        preserveValueImports?: boolean;
                        project?: string;
                        reactNamespace?: string;
                        removeComments?: boolean;
                        resolveJsonModule?: boolean;
                        rootDir?: string;
                        rootDirs?: (string | undefined)[];
                        skipDefaultLibCheck?: boolean;
                        skipLibCheck?: boolean;
                        sourceMap?: boolean;
                        sourceRoot?: string;
                        strict?: boolean;
                        strictBindCallApply?: boolean;
                        strictFunctionTypes?: boolean;
                        strictNullChecks?: boolean;
                        strictPropertyInitialization?: boolean;
                        stripInternal?: boolean;
                        suppressExcessPropertyErrors?: boolean;
                        suppressImplicitAnyIndexErrors?: boolean;
                        target?: ScriptTarget;
                        traceResolution?: boolean;
                        tsBuildInfoFile?: string;
                        typeRoots?: (string | undefined)[];
                        types?: (string | undefined)[];
                        useDefineForClassFields?: boolean;
                        useUnknownInCatchVariables?: boolean;
                        [key: string]:
                            | string
                            | number
                            | boolean
                            | (string | undefined)[]
                            | (string | number | undefined)[]
                            | { [key: string]: (...)[] | undefined }
                            | ({ name?: ... } | undefined)[]
                            | (
                                | { circular?: ...; originalPath?: ...; path?: ...; prepend?: ... }
                                | undefined
                            )[]
                            | {
                                _declarationBrand?: any;
                                amdDependencies?: readonly (...)[];
                                decorators?: undefined;
                                end?: number;
                                endOfFileToken?: {
                                    decorators?: ...;
                                    end?: ...;
                                    flags?: ...;
                                    forEachChild?: ...;
                                    getChildAt?: ...;
                                    getChildCount?: ...;
                                    getChildren?: ...;
                                    getEnd?: ...;
                                    getFirstToken?: ...;
                                    getFullStart?: ...;
                                    getFullText?: ...;
                                    getFullWidth?: ...;
                                    getLastToken?: ...;
                                    getLeadingTriviaWidth?: ...;
                                    getSourceFile?: ...;
                                    getStart?: ...;
                                    getText?: ...;
                                    getWidth?: ...;
                                    kind?: ...;
                                    modifiers?: ...;
                                    parent?: ...;
                                    pos?: ...;
                                };
                                extendedSourceFiles?: (...)[];
                                fileName?: string;
                                flags?: NodeFlags;
                                forEachChild?: <T>(cbNode: ..., cbNodeArray?: ...) => ...;
                                getChildAt?: (index: ..., sourceFile?: ...) => ...;
                                getChildCount?: (sourceFile?: ...) => ...;
                                getChildren?: (sourceFile?: ...) => ...;
                                getEnd?: () => ...;
                                getFirstToken?: (sourceFile?: ...) => ...;
                                getFullStart?: () => ...;
                                getFullText?: (sourceFile?: ...) => ...;
                                getFullWidth?: () => ...;
                                getLastToken?: (sourceFile?: ...) => ...;
                                getLeadingTriviaWidth?: (sourceFile?: ...) => ...;
                                getLineAndCharacterOfPosition?: (pos: ...) => ...;
                                getLineEndOfPosition?: (pos: ...) => ...;
                                getLineStarts?: () => ...;
                                getPositionOfLineAndCharacter?: (line: ..., character: ...) => ...;
                                getSourceFile?: () => ...;
                                getStart?: (sourceFile?: ..., includeJsDocComment?: ...) => ...;
                                getText?: (sourceFile?: ...) => ...;
                                getWidth?: (sourceFile?: ...) => ...;
                                hasNoDefaultLib?: boolean;
                                impliedNodeFormat?: CommonJS | ESNext;
                                isDeclarationFile?: boolean;
                                kind?: SourceFile;
                                languageVariant?: LanguageVariant;
                                languageVersion?: ScriptTarget;
                                libReferenceDirectives?: readonly (...)[];
                                modifiers?: {
                                    "[iterator]"?: ...;
                                    "[unscopables]"?: ...;
                                    at?: ...;
                                    concat?: ...;
                                    end?: ...;
                                    entries?: ...;
                                    every?: ...;
                                    filter?: ...;
                                    find?: ...;
                                    findIndex?: ...;
                                    findLast?: ...;
                                    findLastIndex?: ...;
                                    flat?: ...;
                                    flatMap?: ...;
                                    forEach?: ...;
                                    hasTrailingComma?: ...;
                                    includes?: ...;
                                    indexOf?: ...;
                                    join?: ...;
                                    keys?: ...;
                                    lastIndexOf?: ...;
                                    length?: ...;
                                    map?: ...;
                                    pos?: ...;
                                    reduce?: ...;
                                    reduceRight?: ...;
                                    slice?: ...;
                                    some?: ...;
                                    toLocaleString?: ...;
                                    toReversed?: ...;
                                    toSorted?: ...;
                                    toSpliced?: ...;
                                    toString?: ...;
                                    values?: ...;
                                    with?: ...;
                                    readonly [key: ...]: ...;
                                };
                                moduleName?: string;
                                parent?: {
                                    decorators?: ...;
                                    end?: ...;
                                    flags?: ...;
                                    forEachChild?: ...;
                                    getChildAt?: ...;
                                    getChildCount?: ...;
                                    getChildren?: ...;
                                    getEnd?: ...;
                                    getFirstToken?: ...;
                                    getFullStart?: ...;
                                    getFullText?: ...;
                                    getFullWidth?: ...;
                                    getLastToken?: ...;
                                    getLeadingTriviaWidth?: ...;
                                    getSourceFile?: ...;
                                    getStart?: ...;
                                    getText?: ...;
                                    getWidth?: ...;
                                    kind?: ...;
                                    modifiers?: ...;
                                    parent?: ...;
                                    pos?: ...;
                                };
                                pos?: number;
                                referencedFiles?: readonly (...)[];
                                statements?: {
                                    "[iterator]"?: ...;
                                    "[unscopables]"?: ...;
                                    at?: ...;
                                    concat?: ...;
                                    end?: ...;
                                    entries?: ...;
                                    every?: ...;
                                    filter?: ...;
                                    find?: ...;
                                    findIndex?: ...;
                                    findLast?: ...;
                                    findLastIndex?: ...;
                                    flat?: ...;
                                    flatMap?: ...;
                                    forEach?: ...;
                                    hasTrailingComma?: ...;
                                    includes?: ...;
                                    indexOf?: ...;
                                    join?: ...;
                                    keys?: ...;
                                    lastIndexOf?: ...;
                                    length?: ...;
                                    map?: ...;
                                    pos?: ...;
                                    reduce?: ...;
                                    reduceRight?: ...;
                                    slice?: ...;
                                    some?: ...;
                                    toLocaleString?: ...;
                                    toReversed?: ...;
                                    toSorted?: ...;
                                    toSpliced?: ...;
                                    toString?: ...;
                                    values?: ...;
                                    with?: ...;
                                    readonly [key: ...]: ...;
                                };
                                text?: string;
                                typeReferenceDirectives?: readonly (...)[];
                                update?: (newText: ..., textChangeRange: ...) => ...;
                            }
                            | null
                            | undefined;
                    };
                    defaultNumberType?: "number"
                    | "integer";
                    defaultProps?: boolean;
                    esModuleInterop?: boolean;
                    excludePrivate?: boolean;
                    id?: string;
                    ignoreErrors?: boolean;
                    include?: (string | undefined)[];
                    noExtraProps?: boolean;
                    out?: string;
                    propOrder?: boolean;
                    ref?: boolean;
                    rejectDateType?: boolean;
                    required?: boolean;
                    skipLibCheck?: boolean;
                    strictNullChecks?: boolean;
                    titles?: boolean;
                    topRef?: boolean;
                    tsNodeRegister?: boolean;
                    typeOfKeyword?: boolean;
                    uniqueNames?: boolean;
                    validationKeywords?: (string | undefined)[];
                };
            };
            typeMapping?: {
                Any?: TypeMappingFunction<
                    ConstrainedAnyModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Array?: TypeMappingFunction<
                    ConstrainedArrayModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Boolean?: TypeMappingFunction<
                    ConstrainedBooleanModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Dictionary?: TypeMappingFunction<
                    ConstrainedDictionaryModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Enum?: TypeMappingFunction<
                    ConstrainedEnumModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Float?: TypeMappingFunction<
                    ConstrainedFloatModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Integer?: TypeMappingFunction<
                    ConstrainedIntegerModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Object?: TypeMappingFunction<
                    ConstrainedObjectModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Reference?: TypeMappingFunction<
                    ConstrainedReferenceModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                String?: TypeMappingFunction<
                    ConstrainedStringModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Tuple?: TypeMappingFunction<
                    ConstrainedTupleModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Union?: TypeMappingFunction<
                    ConstrainedUnionModel,
                    GoOptions,
                    GoDependencyManager,
                >;
            };
            unionAnyModelName?: string;
            unionArrModelName?: string;
            unionDictModelName?: string;
        }
        • Optionalconstraints?: {
              constant?: ConstantConstraint<GoOptions>;
              enumKey?: EnumKeyConstraint<GoOptions>;
              enumValue?: EnumValueConstraint<GoOptions>;
              modelName?: ModelNameConstraint<GoOptions>;
              propertyKey?: PropertyKeyConstraint<GoOptions>;
          }
        • OptionaldefaultPreset?: {
              enum?: {
                  additionalContent?: (
                      args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                  ) => string | Promise<string>;
                  item?: (
                      args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel> & EnumArgs & {
                          index: number;
                      },
                  ) => string;
                  self?: (
                      args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                  ) => string | Promise<string>;
              };
              struct?: {
                  additionalContent?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                  ) => string | Promise<string>;
                  discriminator?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedUnionModel>,
                  ) => string;
                  field?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedObjectModel> & FieldArgs,
                  ) => string | Promise<string>;
                  self?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                  ) => string | Promise<string>;
              };
              union?: {
                  additionalContent?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                  ) => string | Promise<string>;
                  discriminator?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                  ) => string;
                  field?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel> & UnionFieldArgs,
                  ) => string | Promise<string>;
                  self?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                  ) => string | Promise<string>;
              };
          }
        • OptionaldependencyManager?:
              | (() => AbstractDependencyManager)
              | {
                  addDependency?: (dependency: string) => void;
                  dependencies?: (string | undefined)[];
              }

          This dependency manager type serves two functions.

          1. It can be used to provide a factory for generate functions
          2. It can be used to provide a single instance of a dependency manager, to add all dependencies together

          This depends on context and where it's used.

        • Optionalindentation?: { size?: number; type?: IndentationTypes }
        • Optionalpresets?: (
              | {
                  enum?: {
                      additionalContent?: (
                          args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                      ) => string | Promise<(...)>;
                      item?: (
                          args: PresetArgs<(...), (...), (...)> & EnumArgs & { index: ... },
                      ) => string;
                      self?: (
                          args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                      ) => string | Promise<(...)>;
                  };
                  struct?: {
                      additionalContent?: (
                          args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                      ) => string | Promise<(...)>;
                      discriminator?: (
                          args: PresetArgs<StructRenderer, any, ConstrainedUnionModel>,
                      ) => string;
                      field?: (
                          args: PresetArgs<(...), (...), (...)> & FieldArgs,
                      ) => string | Promise<(...)>;
                      self?: (
                          args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                      ) => string | Promise<(...)>;
                  };
                  union?: {
                      additionalContent?: (
                          args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                      ) => string | Promise<(...)>;
                      discriminator?: (
                          args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                      ) => string;
                      field?: (
                          args: PresetArgs<(...), (...), (...)> & UnionFieldArgs,
                      ) => string | Promise<(...)>;
                      self?: (
                          args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                      ) => string | Promise<(...)>;
                  };
              }
              | {
                  options?: any;
                  preset?: {
                      enum?: {
                          additionalContent?: (args: ...) => ...;
                          item?: (args: ...) => ...;
                          self?: (args: ...) => ...;
                      };
                      struct?: {
                          additionalContent?: (args: ...) => ...;
                          discriminator?: (args: ...) => ...;
                          field?: (args: ...) => ...;
                          self?: (args: ...) => ...;
                      };
                      union?: {
                          additionalContent?: (args: ...) => ...;
                          discriminator?: (args: ...) => ...;
                          field?: (args: ...) => ...;
                          self?: (args: ...) => ...;
                      };
                  };
              }
              | undefined
          )[]
        • OptionalprocessorOptions?: {
              asyncapi?: {
                  __unstable?: { resolver?: { resolvers?: (...)[] } };
                  applyTraits?: boolean;
                  parseSchemas?: boolean;
                  source?: string;
                  validateOptions?: {
                      __unstable?: { resolver?: { resolvers?: ... } };
                      allowedSeverity?: {
                          error?: boolean;
                          hint?: boolean;
                          info?: boolean;
                          warning?: boolean;
                      };
                      ignoreUnknownFormat?: boolean;
                  };
              };
              jsonSchema?: {
                  allowInheritance?: boolean;
                  disableCache?: boolean;
                  discriminator?: string;
                  ignoreAdditionalItems?: boolean;
                  ignoreAdditionalProperties?: boolean;
                  interpretSingleEnumAsConst?: boolean;
                  propertyNameForAdditionalProperties?: string;
              };
              openapi?: { includeComponentSchemas?: boolean };
              typescript?: {
                  aliasRef?: boolean;
                  compilerOptions?: {
                      allowJs?: boolean;
                      allowSyntheticDefaultImports?: boolean;
                      allowUmdGlobalAccess?: boolean;
                      allowUnreachableCode?: boolean;
                      allowUnusedLabels?: boolean;
                      alwaysStrict?: boolean;
                      assumeChangesOnlyAffectDirectDependencies?: boolean;
                      baseUrl?: string;
                      charset?: string;
                      checkJs?: boolean;
                      composite?: boolean;
                      declaration?: boolean;
                      declarationDir?: string;
                      declarationMap?: boolean;
                      disableReferencedProjectLoad?: boolean;
                      disableSizeLimit?: boolean;
                      disableSolutionSearching?: boolean;
                      disableSourceOfProjectReferenceRedirect?: boolean;
                      downlevelIteration?: boolean;
                      emitBOM?: boolean;
                      emitDeclarationOnly?: boolean;
                      emitDecoratorMetadata?: boolean;
                      esModuleInterop?: boolean;
                      exactOptionalPropertyTypes?: boolean;
                      experimentalDecorators?: boolean;
                      forceConsistentCasingInFileNames?: boolean;
                      importHelpers?: boolean;
                      importsNotUsedAsValues?: ImportsNotUsedAsValues;
                      incremental?: boolean;
                      inlineSourceMap?: boolean;
                      inlineSources?: boolean;
                      isolatedModules?: boolean;
                      jsx?: JsxEmit;
                      jsxFactory?: string;
                      jsxFragmentFactory?: string;
                      jsxImportSource?: string;
                      keyofStringsOnly?: boolean;
                      lib?: (string | undefined)[];
                      locale?: string;
                      mapRoot?: string;
                      maxNodeModuleJsDepth?: number;
                      module?: ModuleKind;
                      moduleDetection?: ModuleDetectionKind;
                      moduleResolution?: ModuleResolutionKind;
                      moduleSuffixes?: (string | undefined)[];
                      newLine?: NewLineKind;
                      noEmit?: boolean;
                      noEmitHelpers?: boolean;
                      noEmitOnError?: boolean;
                      noErrorTruncation?: boolean;
                      noFallthroughCasesInSwitch?: boolean;
                      noImplicitAny?: boolean;
                      noImplicitOverride?: boolean;
                      noImplicitReturns?: boolean;
                      noImplicitThis?: boolean;
                      noImplicitUseStrict?: boolean;
                      noLib?: boolean;
                      noPropertyAccessFromIndexSignature?: boolean;
                      noResolve?: boolean;
                      noStrictGenericChecks?: boolean;
                      noUncheckedIndexedAccess?: boolean;
                      noUnusedLocals?: boolean;
                      noUnusedParameters?: boolean;
                      out?: string;
                      outDir?: string;
                      outFile?: string;
                      paths?: { [key: string]: (...)[] | undefined };
                      preserveConstEnums?: boolean;
                      preserveSymlinks?: boolean;
                      preserveValueImports?: boolean;
                      project?: string;
                      reactNamespace?: string;
                      removeComments?: boolean;
                      resolveJsonModule?: boolean;
                      rootDir?: string;
                      rootDirs?: (string | undefined)[];
                      skipDefaultLibCheck?: boolean;
                      skipLibCheck?: boolean;
                      sourceMap?: boolean;
                      sourceRoot?: string;
                      strict?: boolean;
                      strictBindCallApply?: boolean;
                      strictFunctionTypes?: boolean;
                      strictNullChecks?: boolean;
                      strictPropertyInitialization?: boolean;
                      stripInternal?: boolean;
                      suppressExcessPropertyErrors?: boolean;
                      suppressImplicitAnyIndexErrors?: boolean;
                      target?: ScriptTarget;
                      traceResolution?: boolean;
                      tsBuildInfoFile?: string;
                      typeRoots?: (string | undefined)[];
                      types?: (string | undefined)[];
                      useDefineForClassFields?: boolean;
                      useUnknownInCatchVariables?: boolean;
                      [key: string]:
                          | string
                          | number
                          | boolean
                          | (string | undefined)[]
                          | (string | number | undefined)[]
                          | { [key: string]: (...)[] | undefined }
                          | ({ name?: ... } | undefined)[]
                          | (
                              | { circular?: ...; originalPath?: ...; path?: ...; prepend?: ... }
                              | undefined
                          )[]
                          | {
                              _declarationBrand?: any;
                              amdDependencies?: readonly (...)[];
                              decorators?: undefined;
                              end?: number;
                              endOfFileToken?: {
                                  decorators?: ...;
                                  end?: ...;
                                  flags?: ...;
                                  forEachChild?: ...;
                                  getChildAt?: ...;
                                  getChildCount?: ...;
                                  getChildren?: ...;
                                  getEnd?: ...;
                                  getFirstToken?: ...;
                                  getFullStart?: ...;
                                  getFullText?: ...;
                                  getFullWidth?: ...;
                                  getLastToken?: ...;
                                  getLeadingTriviaWidth?: ...;
                                  getSourceFile?: ...;
                                  getStart?: ...;
                                  getText?: ...;
                                  getWidth?: ...;
                                  kind?: ...;
                                  modifiers?: ...;
                                  parent?: ...;
                                  pos?: ...;
                              };
                              extendedSourceFiles?: (...)[];
                              fileName?: string;
                              flags?: NodeFlags;
                              forEachChild?: <T>(cbNode: ..., cbNodeArray?: ...) => ...;
                              getChildAt?: (index: ..., sourceFile?: ...) => ...;
                              getChildCount?: (sourceFile?: ...) => ...;
                              getChildren?: (sourceFile?: ...) => ...;
                              getEnd?: () => ...;
                              getFirstToken?: (sourceFile?: ...) => ...;
                              getFullStart?: () => ...;
                              getFullText?: (sourceFile?: ...) => ...;
                              getFullWidth?: () => ...;
                              getLastToken?: (sourceFile?: ...) => ...;
                              getLeadingTriviaWidth?: (sourceFile?: ...) => ...;
                              getLineAndCharacterOfPosition?: (pos: ...) => ...;
                              getLineEndOfPosition?: (pos: ...) => ...;
                              getLineStarts?: () => ...;
                              getPositionOfLineAndCharacter?: (line: ..., character: ...) => ...;
                              getSourceFile?: () => ...;
                              getStart?: (sourceFile?: ..., includeJsDocComment?: ...) => ...;
                              getText?: (sourceFile?: ...) => ...;
                              getWidth?: (sourceFile?: ...) => ...;
                              hasNoDefaultLib?: boolean;
                              impliedNodeFormat?: CommonJS | ESNext;
                              isDeclarationFile?: boolean;
                              kind?: SourceFile;
                              languageVariant?: LanguageVariant;
                              languageVersion?: ScriptTarget;
                              libReferenceDirectives?: readonly (...)[];
                              modifiers?: {
                                  "[iterator]"?: ...;
                                  "[unscopables]"?: ...;
                                  at?: ...;
                                  concat?: ...;
                                  end?: ...;
                                  entries?: ...;
                                  every?: ...;
                                  filter?: ...;
                                  find?: ...;
                                  findIndex?: ...;
                                  findLast?: ...;
                                  findLastIndex?: ...;
                                  flat?: ...;
                                  flatMap?: ...;
                                  forEach?: ...;
                                  hasTrailingComma?: ...;
                                  includes?: ...;
                                  indexOf?: ...;
                                  join?: ...;
                                  keys?: ...;
                                  lastIndexOf?: ...;
                                  length?: ...;
                                  map?: ...;
                                  pos?: ...;
                                  reduce?: ...;
                                  reduceRight?: ...;
                                  slice?: ...;
                                  some?: ...;
                                  toLocaleString?: ...;
                                  toReversed?: ...;
                                  toSorted?: ...;
                                  toSpliced?: ...;
                                  toString?: ...;
                                  values?: ...;
                                  with?: ...;
                                  readonly [key: ...]: ...;
                              };
                              moduleName?: string;
                              parent?: {
                                  decorators?: ...;
                                  end?: ...;
                                  flags?: ...;
                                  forEachChild?: ...;
                                  getChildAt?: ...;
                                  getChildCount?: ...;
                                  getChildren?: ...;
                                  getEnd?: ...;
                                  getFirstToken?: ...;
                                  getFullStart?: ...;
                                  getFullText?: ...;
                                  getFullWidth?: ...;
                                  getLastToken?: ...;
                                  getLeadingTriviaWidth?: ...;
                                  getSourceFile?: ...;
                                  getStart?: ...;
                                  getText?: ...;
                                  getWidth?: ...;
                                  kind?: ...;
                                  modifiers?: ...;
                                  parent?: ...;
                                  pos?: ...;
                              };
                              pos?: number;
                              referencedFiles?: readonly (...)[];
                              statements?: {
                                  "[iterator]"?: ...;
                                  "[unscopables]"?: ...;
                                  at?: ...;
                                  concat?: ...;
                                  end?: ...;
                                  entries?: ...;
                                  every?: ...;
                                  filter?: ...;
                                  find?: ...;
                                  findIndex?: ...;
                                  findLast?: ...;
                                  findLastIndex?: ...;
                                  flat?: ...;
                                  flatMap?: ...;
                                  forEach?: ...;
                                  hasTrailingComma?: ...;
                                  includes?: ...;
                                  indexOf?: ...;
                                  join?: ...;
                                  keys?: ...;
                                  lastIndexOf?: ...;
                                  length?: ...;
                                  map?: ...;
                                  pos?: ...;
                                  reduce?: ...;
                                  reduceRight?: ...;
                                  slice?: ...;
                                  some?: ...;
                                  toLocaleString?: ...;
                                  toReversed?: ...;
                                  toSorted?: ...;
                                  toSpliced?: ...;
                                  toString?: ...;
                                  values?: ...;
                                  with?: ...;
                                  readonly [key: ...]: ...;
                              };
                              text?: string;
                              typeReferenceDirectives?: readonly (...)[];
                              update?: (newText: ..., textChangeRange: ...) => ...;
                          }
                          | null
                          | undefined;
                  };
                  defaultNumberType?: "number"
                  | "integer";
                  defaultProps?: boolean;
                  esModuleInterop?: boolean;
                  excludePrivate?: boolean;
                  id?: string;
                  ignoreErrors?: boolean;
                  include?: (string | undefined)[];
                  noExtraProps?: boolean;
                  out?: string;
                  propOrder?: boolean;
                  ref?: boolean;
                  rejectDateType?: boolean;
                  required?: boolean;
                  skipLibCheck?: boolean;
                  strictNullChecks?: boolean;
                  titles?: boolean;
                  topRef?: boolean;
                  tsNodeRegister?: boolean;
                  typeOfKeyword?: boolean;
                  uniqueNames?: boolean;
                  validationKeywords?: (string | undefined)[];
              };
          }
          • Optionalasyncapi?: {
                __unstable?: { resolver?: { resolvers?: (...)[] } };
                applyTraits?: boolean;
                parseSchemas?: boolean;
                source?: string;
                validateOptions?: {
                    __unstable?: { resolver?: { resolvers?: ... } };
                    allowedSeverity?: {
                        error?: boolean;
                        hint?: boolean;
                        info?: boolean;
                        warning?: boolean;
                    };
                    ignoreUnknownFormat?: boolean;
                };
            }
          • OptionaljsonSchema?: {
                allowInheritance?: boolean;
                disableCache?: boolean;
                discriminator?: string;
                ignoreAdditionalItems?: boolean;
                ignoreAdditionalProperties?: boolean;
                interpretSingleEnumAsConst?: boolean;
                propertyNameForAdditionalProperties?: string;
            }
            • OptionalallowInheritance?: boolean
            • OptionaldisableCache?: boolean

              This options disables the seenSchemas cache in the Interpreter. Use this option to disable the seenSchemas cache when interpreting schemas. This will affect merging of schemas, and should only be used by the internal interpreters when allowInheritance is set to true. This allows the internal interpreters to keep clean copies of the schemas as CommonModel's.

            • Optionaldiscriminator?: string

              When interpreting a schema with discriminator set, this property will be set best by the individual interpreters to make sure the discriminator becomes an enum.

            • OptionalignoreAdditionalItems?: boolean

              For JSON Schema draft 7, additionalItems are by default true, but it might create an unintended types for arrays.

              Use this option to ignore default additionalItems for models, as long as there is other types sat for the array.

              ONLY use this option if you do not have control over the schema files you use to generate the models from. Instead you should adapt your schemas to be more strict by setting additionalItems: false.

            • OptionalignoreAdditionalProperties?: boolean

              For JSON Schema draft 7, additionalProperties are by default true, but it might create an unintended property for the models.

              Use this option to ignore default additionalProperties for models that has other properties with them.

              ONLY use this option if you do not have control over your schema files. Instead adapt your schemas to be more strict by setting additionalProperties: false.

            • OptionalinterpretSingleEnumAsConst?: boolean

              This option enables that a single enum value {enum: ['test']} is interpreted the same as if the value was {const: 'test'} Use this option to reduce the number of enums being created and use constant values instead.

            • OptionalpropertyNameForAdditionalProperties?: string

              This option changes which property name that should be used to represent additionalProperties in JSON Schema

          • Optionalopenapi?: { includeComponentSchemas?: boolean }
          • Optionaltypescript?: {
                aliasRef?: boolean;
                compilerOptions?: {
                    allowJs?: boolean;
                    allowSyntheticDefaultImports?: boolean;
                    allowUmdGlobalAccess?: boolean;
                    allowUnreachableCode?: boolean;
                    allowUnusedLabels?: boolean;
                    alwaysStrict?: boolean;
                    assumeChangesOnlyAffectDirectDependencies?: boolean;
                    baseUrl?: string;
                    charset?: string;
                    checkJs?: boolean;
                    composite?: boolean;
                    declaration?: boolean;
                    declarationDir?: string;
                    declarationMap?: boolean;
                    disableReferencedProjectLoad?: boolean;
                    disableSizeLimit?: boolean;
                    disableSolutionSearching?: boolean;
                    disableSourceOfProjectReferenceRedirect?: boolean;
                    downlevelIteration?: boolean;
                    emitBOM?: boolean;
                    emitDeclarationOnly?: boolean;
                    emitDecoratorMetadata?: boolean;
                    esModuleInterop?: boolean;
                    exactOptionalPropertyTypes?: boolean;
                    experimentalDecorators?: boolean;
                    forceConsistentCasingInFileNames?: boolean;
                    importHelpers?: boolean;
                    importsNotUsedAsValues?: ImportsNotUsedAsValues;
                    incremental?: boolean;
                    inlineSourceMap?: boolean;
                    inlineSources?: boolean;
                    isolatedModules?: boolean;
                    jsx?: JsxEmit;
                    jsxFactory?: string;
                    jsxFragmentFactory?: string;
                    jsxImportSource?: string;
                    keyofStringsOnly?: boolean;
                    lib?: (string | undefined)[];
                    locale?: string;
                    mapRoot?: string;
                    maxNodeModuleJsDepth?: number;
                    module?: ModuleKind;
                    moduleDetection?: ModuleDetectionKind;
                    moduleResolution?: ModuleResolutionKind;
                    moduleSuffixes?: (string | undefined)[];
                    newLine?: NewLineKind;
                    noEmit?: boolean;
                    noEmitHelpers?: boolean;
                    noEmitOnError?: boolean;
                    noErrorTruncation?: boolean;
                    noFallthroughCasesInSwitch?: boolean;
                    noImplicitAny?: boolean;
                    noImplicitOverride?: boolean;
                    noImplicitReturns?: boolean;
                    noImplicitThis?: boolean;
                    noImplicitUseStrict?: boolean;
                    noLib?: boolean;
                    noPropertyAccessFromIndexSignature?: boolean;
                    noResolve?: boolean;
                    noStrictGenericChecks?: boolean;
                    noUncheckedIndexedAccess?: boolean;
                    noUnusedLocals?: boolean;
                    noUnusedParameters?: boolean;
                    out?: string;
                    outDir?: string;
                    outFile?: string;
                    paths?: { [key: string]: (...)[] | undefined };
                    preserveConstEnums?: boolean;
                    preserveSymlinks?: boolean;
                    preserveValueImports?: boolean;
                    project?: string;
                    reactNamespace?: string;
                    removeComments?: boolean;
                    resolveJsonModule?: boolean;
                    rootDir?: string;
                    rootDirs?: (string | undefined)[];
                    skipDefaultLibCheck?: boolean;
                    skipLibCheck?: boolean;
                    sourceMap?: boolean;
                    sourceRoot?: string;
                    strict?: boolean;
                    strictBindCallApply?: boolean;
                    strictFunctionTypes?: boolean;
                    strictNullChecks?: boolean;
                    strictPropertyInitialization?: boolean;
                    stripInternal?: boolean;
                    suppressExcessPropertyErrors?: boolean;
                    suppressImplicitAnyIndexErrors?: boolean;
                    target?: ScriptTarget;
                    traceResolution?: boolean;
                    tsBuildInfoFile?: string;
                    typeRoots?: (string | undefined)[];
                    types?: (string | undefined)[];
                    useDefineForClassFields?: boolean;
                    useUnknownInCatchVariables?: boolean;
                    [key: string]:
                        | string
                        | number
                        | boolean
                        | (string | undefined)[]
                        | (string | number | undefined)[]
                        | { [key: string]: (...)[] | undefined }
                        | ({ name?: ... } | undefined)[]
                        | (
                            | { circular?: ...; originalPath?: ...; path?: ...; prepend?: ... }
                            | undefined
                        )[]
                        | {
                            _declarationBrand?: any;
                            amdDependencies?: readonly (...)[];
                            decorators?: undefined;
                            end?: number;
                            endOfFileToken?: {
                                decorators?: ...;
                                end?: ...;
                                flags?: ...;
                                forEachChild?: ...;
                                getChildAt?: ...;
                                getChildCount?: ...;
                                getChildren?: ...;
                                getEnd?: ...;
                                getFirstToken?: ...;
                                getFullStart?: ...;
                                getFullText?: ...;
                                getFullWidth?: ...;
                                getLastToken?: ...;
                                getLeadingTriviaWidth?: ...;
                                getSourceFile?: ...;
                                getStart?: ...;
                                getText?: ...;
                                getWidth?: ...;
                                kind?: ...;
                                modifiers?: ...;
                                parent?: ...;
                                pos?: ...;
                            };
                            extendedSourceFiles?: (...)[];
                            fileName?: string;
                            flags?: NodeFlags;
                            forEachChild?: <T>(cbNode: ..., cbNodeArray?: ...) => ...;
                            getChildAt?: (index: ..., sourceFile?: ...) => ...;
                            getChildCount?: (sourceFile?: ...) => ...;
                            getChildren?: (sourceFile?: ...) => ...;
                            getEnd?: () => ...;
                            getFirstToken?: (sourceFile?: ...) => ...;
                            getFullStart?: () => ...;
                            getFullText?: (sourceFile?: ...) => ...;
                            getFullWidth?: () => ...;
                            getLastToken?: (sourceFile?: ...) => ...;
                            getLeadingTriviaWidth?: (sourceFile?: ...) => ...;
                            getLineAndCharacterOfPosition?: (pos: ...) => ...;
                            getLineEndOfPosition?: (pos: ...) => ...;
                            getLineStarts?: () => ...;
                            getPositionOfLineAndCharacter?: (line: ..., character: ...) => ...;
                            getSourceFile?: () => ...;
                            getStart?: (sourceFile?: ..., includeJsDocComment?: ...) => ...;
                            getText?: (sourceFile?: ...) => ...;
                            getWidth?: (sourceFile?: ...) => ...;
                            hasNoDefaultLib?: boolean;
                            impliedNodeFormat?: CommonJS | ESNext;
                            isDeclarationFile?: boolean;
                            kind?: SourceFile;
                            languageVariant?: LanguageVariant;
                            languageVersion?: ScriptTarget;
                            libReferenceDirectives?: readonly (...)[];
                            modifiers?: {
                                "[iterator]"?: ...;
                                "[unscopables]"?: ...;
                                at?: ...;
                                concat?: ...;
                                end?: ...;
                                entries?: ...;
                                every?: ...;
                                filter?: ...;
                                find?: ...;
                                findIndex?: ...;
                                findLast?: ...;
                                findLastIndex?: ...;
                                flat?: ...;
                                flatMap?: ...;
                                forEach?: ...;
                                hasTrailingComma?: ...;
                                includes?: ...;
                                indexOf?: ...;
                                join?: ...;
                                keys?: ...;
                                lastIndexOf?: ...;
                                length?: ...;
                                map?: ...;
                                pos?: ...;
                                reduce?: ...;
                                reduceRight?: ...;
                                slice?: ...;
                                some?: ...;
                                toLocaleString?: ...;
                                toReversed?: ...;
                                toSorted?: ...;
                                toSpliced?: ...;
                                toString?: ...;
                                values?: ...;
                                with?: ...;
                                readonly [key: ...]: ...;
                            };
                            moduleName?: string;
                            parent?: {
                                decorators?: ...;
                                end?: ...;
                                flags?: ...;
                                forEachChild?: ...;
                                getChildAt?: ...;
                                getChildCount?: ...;
                                getChildren?: ...;
                                getEnd?: ...;
                                getFirstToken?: ...;
                                getFullStart?: ...;
                                getFullText?: ...;
                                getFullWidth?: ...;
                                getLastToken?: ...;
                                getLeadingTriviaWidth?: ...;
                                getSourceFile?: ...;
                                getStart?: ...;
                                getText?: ...;
                                getWidth?: ...;
                                kind?: ...;
                                modifiers?: ...;
                                parent?: ...;
                                pos?: ...;
                            };
                            pos?: number;
                            referencedFiles?: readonly (...)[];
                            statements?: {
                                "[iterator]"?: ...;
                                "[unscopables]"?: ...;
                                at?: ...;
                                concat?: ...;
                                end?: ...;
                                entries?: ...;
                                every?: ...;
                                filter?: ...;
                                find?: ...;
                                findIndex?: ...;
                                findLast?: ...;
                                findLastIndex?: ...;
                                flat?: ...;
                                flatMap?: ...;
                                forEach?: ...;
                                hasTrailingComma?: ...;
                                includes?: ...;
                                indexOf?: ...;
                                join?: ...;
                                keys?: ...;
                                lastIndexOf?: ...;
                                length?: ...;
                                map?: ...;
                                pos?: ...;
                                reduce?: ...;
                                reduceRight?: ...;
                                slice?: ...;
                                some?: ...;
                                toLocaleString?: ...;
                                toReversed?: ...;
                                toSorted?: ...;
                                toSpliced?: ...;
                                toString?: ...;
                                values?: ...;
                                with?: ...;
                                readonly [key: ...]: ...;
                            };
                            text?: string;
                            typeReferenceDirectives?: readonly (...)[];
                            update?: (newText: ..., textChangeRange: ...) => ...;
                        }
                        | null
                        | undefined;
                };
                defaultNumberType?: "number"
                | "integer";
                defaultProps?: boolean;
                esModuleInterop?: boolean;
                excludePrivate?: boolean;
                id?: string;
                ignoreErrors?: boolean;
                include?: (string | undefined)[];
                noExtraProps?: boolean;
                out?: string;
                propOrder?: boolean;
                ref?: boolean;
                rejectDateType?: boolean;
                required?: boolean;
                skipLibCheck?: boolean;
                strictNullChecks?: boolean;
                titles?: boolean;
                topRef?: boolean;
                tsNodeRegister?: boolean;
                typeOfKeyword?: boolean;
                uniqueNames?: boolean;
                validationKeywords?: (string | undefined)[];
            }
            • OptionalaliasRef?: boolean
            • OptionalcompilerOptions?: {
                  allowJs?: boolean;
                  allowSyntheticDefaultImports?: boolean;
                  allowUmdGlobalAccess?: boolean;
                  allowUnreachableCode?: boolean;
                  allowUnusedLabels?: boolean;
                  alwaysStrict?: boolean;
                  assumeChangesOnlyAffectDirectDependencies?: boolean;
                  baseUrl?: string;
                  charset?: string;
                  checkJs?: boolean;
                  composite?: boolean;
                  declaration?: boolean;
                  declarationDir?: string;
                  declarationMap?: boolean;
                  disableReferencedProjectLoad?: boolean;
                  disableSizeLimit?: boolean;
                  disableSolutionSearching?: boolean;
                  disableSourceOfProjectReferenceRedirect?: boolean;
                  downlevelIteration?: boolean;
                  emitBOM?: boolean;
                  emitDeclarationOnly?: boolean;
                  emitDecoratorMetadata?: boolean;
                  esModuleInterop?: boolean;
                  exactOptionalPropertyTypes?: boolean;
                  experimentalDecorators?: boolean;
                  forceConsistentCasingInFileNames?: boolean;
                  importHelpers?: boolean;
                  importsNotUsedAsValues?: ImportsNotUsedAsValues;
                  incremental?: boolean;
                  inlineSourceMap?: boolean;
                  inlineSources?: boolean;
                  isolatedModules?: boolean;
                  jsx?: JsxEmit;
                  jsxFactory?: string;
                  jsxFragmentFactory?: string;
                  jsxImportSource?: string;
                  keyofStringsOnly?: boolean;
                  lib?: (string | undefined)[];
                  locale?: string;
                  mapRoot?: string;
                  maxNodeModuleJsDepth?: number;
                  module?: ModuleKind;
                  moduleDetection?: ModuleDetectionKind;
                  moduleResolution?: ModuleResolutionKind;
                  moduleSuffixes?: (string | undefined)[];
                  newLine?: NewLineKind;
                  noEmit?: boolean;
                  noEmitHelpers?: boolean;
                  noEmitOnError?: boolean;
                  noErrorTruncation?: boolean;
                  noFallthroughCasesInSwitch?: boolean;
                  noImplicitAny?: boolean;
                  noImplicitOverride?: boolean;
                  noImplicitReturns?: boolean;
                  noImplicitThis?: boolean;
                  noImplicitUseStrict?: boolean;
                  noLib?: boolean;
                  noPropertyAccessFromIndexSignature?: boolean;
                  noResolve?: boolean;
                  noStrictGenericChecks?: boolean;
                  noUncheckedIndexedAccess?: boolean;
                  noUnusedLocals?: boolean;
                  noUnusedParameters?: boolean;
                  out?: string;
                  outDir?: string;
                  outFile?: string;
                  paths?: { [key: string]: (...)[] | undefined };
                  preserveConstEnums?: boolean;
                  preserveSymlinks?: boolean;
                  preserveValueImports?: boolean;
                  project?: string;
                  reactNamespace?: string;
                  removeComments?: boolean;
                  resolveJsonModule?: boolean;
                  rootDir?: string;
                  rootDirs?: (string | undefined)[];
                  skipDefaultLibCheck?: boolean;
                  skipLibCheck?: boolean;
                  sourceMap?: boolean;
                  sourceRoot?: string;
                  strict?: boolean;
                  strictBindCallApply?: boolean;
                  strictFunctionTypes?: boolean;
                  strictNullChecks?: boolean;
                  strictPropertyInitialization?: boolean;
                  stripInternal?: boolean;
                  suppressExcessPropertyErrors?: boolean;
                  suppressImplicitAnyIndexErrors?: boolean;
                  target?: ScriptTarget;
                  traceResolution?: boolean;
                  tsBuildInfoFile?: string;
                  typeRoots?: (string | undefined)[];
                  types?: (string | undefined)[];
                  useDefineForClassFields?: boolean;
                  useUnknownInCatchVariables?: boolean;
                  [key: string]:
                      | string
                      | number
                      | boolean
                      | (string | undefined)[]
                      | (string | number | undefined)[]
                      | { [key: string]: (...)[] | undefined }
                      | ({ name?: ... } | undefined)[]
                      | (
                          | { circular?: ...; originalPath?: ...; path?: ...; prepend?: ... }
                          | undefined
                      )[]
                      | {
                          _declarationBrand?: any;
                          amdDependencies?: readonly (...)[];
                          decorators?: undefined;
                          end?: number;
                          endOfFileToken?: {
                              decorators?: ...;
                              end?: ...;
                              flags?: ...;
                              forEachChild?: ...;
                              getChildAt?: ...;
                              getChildCount?: ...;
                              getChildren?: ...;
                              getEnd?: ...;
                              getFirstToken?: ...;
                              getFullStart?: ...;
                              getFullText?: ...;
                              getFullWidth?: ...;
                              getLastToken?: ...;
                              getLeadingTriviaWidth?: ...;
                              getSourceFile?: ...;
                              getStart?: ...;
                              getText?: ...;
                              getWidth?: ...;
                              kind?: ...;
                              modifiers?: ...;
                              parent?: ...;
                              pos?: ...;
                          };
                          extendedSourceFiles?: (...)[];
                          fileName?: string;
                          flags?: NodeFlags;
                          forEachChild?: <T>(cbNode: ..., cbNodeArray?: ...) => ...;
                          getChildAt?: (index: ..., sourceFile?: ...) => ...;
                          getChildCount?: (sourceFile?: ...) => ...;
                          getChildren?: (sourceFile?: ...) => ...;
                          getEnd?: () => ...;
                          getFirstToken?: (sourceFile?: ...) => ...;
                          getFullStart?: () => ...;
                          getFullText?: (sourceFile?: ...) => ...;
                          getFullWidth?: () => ...;
                          getLastToken?: (sourceFile?: ...) => ...;
                          getLeadingTriviaWidth?: (sourceFile?: ...) => ...;
                          getLineAndCharacterOfPosition?: (pos: ...) => ...;
                          getLineEndOfPosition?: (pos: ...) => ...;
                          getLineStarts?: () => ...;
                          getPositionOfLineAndCharacter?: (line: ..., character: ...) => ...;
                          getSourceFile?: () => ...;
                          getStart?: (sourceFile?: ..., includeJsDocComment?: ...) => ...;
                          getText?: (sourceFile?: ...) => ...;
                          getWidth?: (sourceFile?: ...) => ...;
                          hasNoDefaultLib?: boolean;
                          impliedNodeFormat?: CommonJS | ESNext;
                          isDeclarationFile?: boolean;
                          kind?: SourceFile;
                          languageVariant?: LanguageVariant;
                          languageVersion?: ScriptTarget;
                          libReferenceDirectives?: readonly (...)[];
                          modifiers?: {
                              "[iterator]"?: ...;
                              "[unscopables]"?: ...;
                              at?: ...;
                              concat?: ...;
                              end?: ...;
                              entries?: ...;
                              every?: ...;
                              filter?: ...;
                              find?: ...;
                              findIndex?: ...;
                              findLast?: ...;
                              findLastIndex?: ...;
                              flat?: ...;
                              flatMap?: ...;
                              forEach?: ...;
                              hasTrailingComma?: ...;
                              includes?: ...;
                              indexOf?: ...;
                              join?: ...;
                              keys?: ...;
                              lastIndexOf?: ...;
                              length?: ...;
                              map?: ...;
                              pos?: ...;
                              reduce?: ...;
                              reduceRight?: ...;
                              slice?: ...;
                              some?: ...;
                              toLocaleString?: ...;
                              toReversed?: ...;
                              toSorted?: ...;
                              toSpliced?: ...;
                              toString?: ...;
                              values?: ...;
                              with?: ...;
                              readonly [key: ...]: ...;
                          };
                          moduleName?: string;
                          parent?: {
                              decorators?: ...;
                              end?: ...;
                              flags?: ...;
                              forEachChild?: ...;
                              getChildAt?: ...;
                              getChildCount?: ...;
                              getChildren?: ...;
                              getEnd?: ...;
                              getFirstToken?: ...;
                              getFullStart?: ...;
                              getFullText?: ...;
                              getFullWidth?: ...;
                              getLastToken?: ...;
                              getLeadingTriviaWidth?: ...;
                              getSourceFile?: ...;
                              getStart?: ...;
                              getText?: ...;
                              getWidth?: ...;
                              kind?: ...;
                              modifiers?: ...;
                              parent?: ...;
                              pos?: ...;
                          };
                          pos?: number;
                          referencedFiles?: readonly (...)[];
                          statements?: {
                              "[iterator]"?: ...;
                              "[unscopables]"?: ...;
                              at?: ...;
                              concat?: ...;
                              end?: ...;
                              entries?: ...;
                              every?: ...;
                              filter?: ...;
                              find?: ...;
                              findIndex?: ...;
                              findLast?: ...;
                              findLastIndex?: ...;
                              flat?: ...;
                              flatMap?: ...;
                              forEach?: ...;
                              hasTrailingComma?: ...;
                              includes?: ...;
                              indexOf?: ...;
                              join?: ...;
                              keys?: ...;
                              lastIndexOf?: ...;
                              length?: ...;
                              map?: ...;
                              pos?: ...;
                              reduce?: ...;
                              reduceRight?: ...;
                              slice?: ...;
                              some?: ...;
                              toLocaleString?: ...;
                              toReversed?: ...;
                              toSorted?: ...;
                              toSpliced?: ...;
                              toString?: ...;
                              values?: ...;
                              with?: ...;
                              readonly [key: ...]: ...;
                          };
                          text?: string;
                          typeReferenceDirectives?: readonly (...)[];
                          update?: (newText: ..., textChangeRange: ...) => ...;
                      }
                      | null
                      | undefined;
              }
              • OptionalallowJs?: boolean
              • OptionalallowSyntheticDefaultImports?: boolean
              • OptionalallowUmdGlobalAccess?: boolean
              • OptionalallowUnreachableCode?: boolean
              • OptionalallowUnusedLabels?: boolean
              • OptionalalwaysStrict?: boolean
              • OptionalassumeChangesOnlyAffectDirectDependencies?: boolean
              • OptionalbaseUrl?: string
              • Optionalcharset?: string
              • OptionalcheckJs?: boolean
              • Optionalcomposite?: boolean
              • Optionaldeclaration?: boolean
              • OptionaldeclarationDir?: string
              • OptionaldeclarationMap?: boolean
              • OptionaldisableReferencedProjectLoad?: boolean
              • OptionaldisableSizeLimit?: boolean
              • OptionaldisableSolutionSearching?: boolean
              • OptionaldisableSourceOfProjectReferenceRedirect?: boolean
              • OptionaldownlevelIteration?: boolean
              • OptionalemitBOM?: boolean
              • OptionalemitDeclarationOnly?: boolean
              • OptionalemitDecoratorMetadata?: boolean
              • OptionalesModuleInterop?: boolean
              • OptionalexactOptionalPropertyTypes?: boolean
              • OptionalexperimentalDecorators?: boolean
              • OptionalforceConsistentCasingInFileNames?: boolean
              • OptionalimportHelpers?: boolean
              • OptionalimportsNotUsedAsValues?: ImportsNotUsedAsValues
              • Optionalincremental?: boolean
              • OptionalinlineSourceMap?: boolean
              • OptionalinlineSources?: boolean
              • OptionalisolatedModules?: boolean
              • Optionaljsx?: JsxEmit
              • OptionaljsxFactory?: string
              • OptionaljsxFragmentFactory?: string
              • OptionaljsxImportSource?: string
              • OptionalkeyofStringsOnly?: boolean
              • Optionallib?: (string | undefined)[]
              • Optionallocale?: string
              • OptionalmapRoot?: string
              • OptionalmaxNodeModuleJsDepth?: number
              • Optionalmodule?: ModuleKind
              • OptionalmoduleDetection?: ModuleDetectionKind
              • OptionalmoduleResolution?: ModuleResolutionKind
              • OptionalmoduleSuffixes?: (string | undefined)[]
              • OptionalnewLine?: NewLineKind
              • OptionalnoEmit?: boolean
              • OptionalnoEmitHelpers?: boolean
              • OptionalnoEmitOnError?: boolean
              • OptionalnoErrorTruncation?: boolean
              • OptionalnoFallthroughCasesInSwitch?: boolean
              • OptionalnoImplicitAny?: boolean
              • OptionalnoImplicitOverride?: boolean
              • OptionalnoImplicitReturns?: boolean
              • OptionalnoImplicitThis?: boolean
              • OptionalnoImplicitUseStrict?: boolean
              • OptionalnoLib?: boolean
              • OptionalnoPropertyAccessFromIndexSignature?: boolean
              • OptionalnoResolve?: boolean
              • OptionalnoStrictGenericChecks?: boolean
              • OptionalnoUncheckedIndexedAccess?: boolean
              • OptionalnoUnusedLocals?: boolean
              • OptionalnoUnusedParameters?: boolean
              • Optionalout?: string
              • OptionaloutDir?: string
              • OptionaloutFile?: string
              • Optionalpaths?: { [key: string]: (...)[] | undefined }
              • OptionalpreserveConstEnums?: boolean
              • OptionalpreserveSymlinks?: boolean
              • OptionalpreserveValueImports?: boolean
              • Optionalproject?: string
              • OptionalreactNamespace?: string
              • OptionalremoveComments?: boolean
              • OptionalresolveJsonModule?: boolean
              • OptionalrootDir?: string
              • OptionalrootDirs?: (string | undefined)[]
              • OptionalskipDefaultLibCheck?: boolean
              • OptionalskipLibCheck?: boolean
              • OptionalsourceMap?: boolean
              • OptionalsourceRoot?: string
              • Optionalstrict?: boolean
              • OptionalstrictBindCallApply?: boolean
              • OptionalstrictFunctionTypes?: boolean
              • OptionalstrictNullChecks?: boolean
              • OptionalstrictPropertyInitialization?: boolean
              • OptionalstripInternal?: boolean
              • OptionalsuppressExcessPropertyErrors?: boolean
              • OptionalsuppressImplicitAnyIndexErrors?: boolean
              • Optionaltarget?: ScriptTarget
              • OptionaltraceResolution?: boolean
              • OptionaltsBuildInfoFile?: string
              • OptionaltypeRoots?: (string | undefined)[]

                Paths used to compute primary types search locations

              • Optionaltypes?: (string | undefined)[]
              • OptionaluseDefineForClassFields?: boolean
              • OptionaluseUnknownInCatchVariables?: boolean
            • OptionaldefaultNumberType?: "number" | "integer"
            • OptionaldefaultProps?: boolean
            • OptionalesModuleInterop?: boolean
            • OptionalexcludePrivate?: boolean
            • Optionalid?: string
            • OptionalignoreErrors?: boolean
            • Optionalinclude?: (string | undefined)[]
            • OptionalnoExtraProps?: boolean
            • Optionalout?: string
            • OptionalpropOrder?: boolean
            • Optionalref?: boolean
            • OptionalrejectDateType?: boolean
            • Optionalrequired?: boolean
            • OptionalskipLibCheck?: boolean
            • OptionalstrictNullChecks?: boolean
            • Optionaltitles?: boolean
            • OptionaltopRef?: boolean
            • OptionaltsNodeRegister?: boolean
            • OptionaltypeOfKeyword?: boolean
            • OptionaluniqueNames?: boolean
            • OptionalvalidationKeywords?: (string | undefined)[]
        • OptionaltypeMapping?: {
              Any?: TypeMappingFunction<
                  ConstrainedAnyModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Array?: TypeMappingFunction<
                  ConstrainedArrayModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Boolean?: TypeMappingFunction<
                  ConstrainedBooleanModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Dictionary?: TypeMappingFunction<
                  ConstrainedDictionaryModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Enum?: TypeMappingFunction<
                  ConstrainedEnumModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Float?: TypeMappingFunction<
                  ConstrainedFloatModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Integer?: TypeMappingFunction<
                  ConstrainedIntegerModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Object?: TypeMappingFunction<
                  ConstrainedObjectModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Reference?: TypeMappingFunction<
                  ConstrainedReferenceModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              String?: TypeMappingFunction<
                  ConstrainedStringModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Tuple?: TypeMappingFunction<
                  ConstrainedTupleModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Union?: TypeMappingFunction<
                  ConstrainedUnionModel,
                  GoOptions,
                  GoDependencyManager,
              >;
          }
        • OptionalunionAnyModelName?: string
        • OptionalunionArrModelName?: string
        • OptionalunionDictModelName?: string

      Returns ConstrainedMetaModel

    • Get all presets (default and custom ones from options) for a given preset type (class, enum, etc).

      Parameters

      • presetType: string

      Returns [Partial<any>, unknown][]

    • Parameters

      • model: ConstrainedEnumModel
      • inputModel: InputMetaModel
      • Optionaloptions: {
            constraints?: {
                constant?: ConstantConstraint<GoOptions>;
                enumKey?: EnumKeyConstraint<GoOptions>;
                enumValue?: EnumValueConstraint<GoOptions>;
                modelName?: ModelNameConstraint<GoOptions>;
                propertyKey?: PropertyKeyConstraint<GoOptions>;
            };
            defaultPreset?: {
                enum?: {
                    additionalContent?: (
                        args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                    ) => string | Promise<string>;
                    item?: (
                        args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel> & EnumArgs & {
                            index: number;
                        },
                    ) => string;
                    self?: (
                        args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                    ) => string | Promise<string>;
                };
                struct?: {
                    additionalContent?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                    ) => string | Promise<string>;
                    discriminator?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedUnionModel>,
                    ) => string;
                    field?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedObjectModel> & FieldArgs,
                    ) => string | Promise<string>;
                    self?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                    ) => string | Promise<string>;
                };
                union?: {
                    additionalContent?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                    ) => string | Promise<string>;
                    discriminator?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                    ) => string;
                    field?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel> & UnionFieldArgs,
                    ) => string | Promise<string>;
                    self?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                    ) => string | Promise<string>;
                };
            };
            dependencyManager?: | (() => AbstractDependencyManager)
            | {
                addDependency?: (dependency: string) => void;
                dependencies?: (string | undefined)[];
            };
            indentation?: { size?: number; type?: IndentationTypes };
            presets?: (
                | {
                    enum?: {
                        additionalContent?: (
                            args: PresetArgs<(...), (...), (...)>,
                        ) => (...) | (...);
                        item?: (args: (...) & (...) & (...)) => string;
                        self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                    };
                    struct?: {
                        additionalContent?: (
                            args: PresetArgs<(...), (...), (...)>,
                        ) => (...) | (...);
                        discriminator?: (args: PresetArgs<(...), (...), (...)>) => string;
                        field?: (args: (...) & (...)) => (...) | (...);
                        self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                    };
                    union?: {
                        additionalContent?: (
                            args: PresetArgs<(...), (...), (...)>,
                        ) => (...) | (...);
                        discriminator?: (args: PresetArgs<(...), (...), (...)>) => string;
                        field?: (args: (...) & (...)) => (...) | (...);
                        self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                    };
                }
                | {
                    options?: any;
                    preset?: {
                        enum?: {
                            additionalContent?: (...)
                            | (...);
                            item?: (...) | (...);
                            self?: (...) | (...);
                        };
                        struct?: {
                            additionalContent?: (...)
                            | (...);
                            discriminator?: (...) | (...);
                            field?: (...) | (...);
                            self?: (...) | (...);
                        };
                        union?: {
                            additionalContent?: (...)
                            | (...);
                            discriminator?: (...) | (...);
                            field?: (...) | (...);
                            self?: (...) | (...);
                        };
                    };
                }
                | undefined
            )[];
            processorOptions?: {
                asyncapi?: {
                    __unstable?: { resolver?: { resolvers?: (...)
                    | (...) } };
                    applyTraits?: boolean;
                    parseSchemas?: boolean;
                    source?: string;
                    validateOptions?: {
                        __unstable?: { resolver?: (...) | (...) };
                        allowedSeverity?: {
                            error?: (...) | (...) | (...);
                            hint?: (...) | (...) | (...);
                            info?: (...) | (...) | (...);
                            warning?: (...) | (...) | (...);
                        };
                        ignoreUnknownFormat?: boolean;
                    };
                };
                jsonSchema?: {
                    allowInheritance?: boolean;
                    disableCache?: boolean;
                    discriminator?: string;
                    ignoreAdditionalItems?: boolean;
                    ignoreAdditionalProperties?: boolean;
                    interpretSingleEnumAsConst?: boolean;
                    propertyNameForAdditionalProperties?: string;
                };
                openapi?: { includeComponentSchemas?: boolean };
                typescript?: {
                    aliasRef?: boolean;
                    compilerOptions?: {
                        allowJs?: boolean;
                        allowSyntheticDefaultImports?: boolean;
                        allowUmdGlobalAccess?: boolean;
                        allowUnreachableCode?: boolean;
                        allowUnusedLabels?: boolean;
                        alwaysStrict?: boolean;
                        assumeChangesOnlyAffectDirectDependencies?: boolean;
                        baseUrl?: string;
                        charset?: string;
                        checkJs?: boolean;
                        composite?: boolean;
                        declaration?: boolean;
                        declarationDir?: string;
                        declarationMap?: boolean;
                        disableReferencedProjectLoad?: boolean;
                        disableSizeLimit?: boolean;
                        disableSolutionSearching?: boolean;
                        disableSourceOfProjectReferenceRedirect?: boolean;
                        downlevelIteration?: boolean;
                        emitBOM?: boolean;
                        emitDeclarationOnly?: boolean;
                        emitDecoratorMetadata?: boolean;
                        esModuleInterop?: boolean;
                        exactOptionalPropertyTypes?: boolean;
                        experimentalDecorators?: boolean;
                        forceConsistentCasingInFileNames?: boolean;
                        importHelpers?: boolean;
                        importsNotUsedAsValues?: ImportsNotUsedAsValues;
                        incremental?: boolean;
                        inlineSourceMap?: boolean;
                        inlineSources?: boolean;
                        isolatedModules?: boolean;
                        jsx?: JsxEmit;
                        jsxFactory?: string;
                        jsxFragmentFactory?: string;
                        jsxImportSource?: string;
                        keyofStringsOnly?: boolean;
                        lib?: ((...) | (...))[];
                        locale?: string;
                        mapRoot?: string;
                        maxNodeModuleJsDepth?: number;
                        module?: ModuleKind;
                        moduleDetection?: ModuleDetectionKind;
                        moduleResolution?: ModuleResolutionKind;
                        moduleSuffixes?: ((...) | (...))[];
                        newLine?: NewLineKind;
                        noEmit?: boolean;
                        noEmitHelpers?: boolean;
                        noEmitOnError?: boolean;
                        noErrorTruncation?: boolean;
                        noFallthroughCasesInSwitch?: boolean;
                        noImplicitAny?: boolean;
                        noImplicitOverride?: boolean;
                        noImplicitReturns?: boolean;
                        noImplicitThis?: boolean;
                        noImplicitUseStrict?: boolean;
                        noLib?: boolean;
                        noPropertyAccessFromIndexSignature?: boolean;
                        noResolve?: boolean;
                        noStrictGenericChecks?: boolean;
                        noUncheckedIndexedAccess?: boolean;
                        noUnusedLocals?: boolean;
                        noUnusedParameters?: boolean;
                        out?: string;
                        outDir?: string;
                        outFile?: string;
                        paths?: { [key: string]: (...) | (...) };
                        preserveConstEnums?: boolean;
                        preserveSymlinks?: boolean;
                        preserveValueImports?: boolean;
                        project?: string;
                        reactNamespace?: string;
                        removeComments?: boolean;
                        resolveJsonModule?: boolean;
                        rootDir?: string;
                        rootDirs?: ((...) | (...))[];
                        skipDefaultLibCheck?: boolean;
                        skipLibCheck?: boolean;
                        sourceMap?: boolean;
                        sourceRoot?: string;
                        strict?: boolean;
                        strictBindCallApply?: boolean;
                        strictFunctionTypes?: boolean;
                        strictNullChecks?: boolean;
                        strictPropertyInitialization?: boolean;
                        stripInternal?: boolean;
                        suppressExcessPropertyErrors?: boolean;
                        suppressImplicitAnyIndexErrors?: boolean;
                        target?: ScriptTarget;
                        traceResolution?: boolean;
                        tsBuildInfoFile?: string;
                        typeRoots?: ((...) | (...))[];
                        types?: ((...) | (...))[];
                        useDefineForClassFields?: boolean;
                        useUnknownInCatchVariables?: boolean;
                        [key: string]:
                            | string
                            | number
                            | boolean
                            | ((...) | (...))[]
                            | ((...) | (...) | (...))[]
                            | { [key: string]: (...) | (...) }
                            | ((...) | (...))[]
                            | ((...) | (...))[]
                            | {
                                _declarationBrand?: any;
                                amdDependencies?: (...) | (...);
                                decorators?: undefined;
                                end?: (...) | (...);
                                endOfFileToken?: (...) | (...);
                                extendedSourceFiles?: (...) | (...);
                                fileName?: (...) | (...);
                                flags?: (...) | (...);
                                forEachChild?: (...) | (...);
                                getChildAt?: (...) | (...);
                                getChildCount?: (...) | (...);
                                getChildren?: (...) | (...);
                                getEnd?: (...) | (...);
                                getFirstToken?: (...) | (...);
                                getFullStart?: (...) | (...);
                                getFullText?: (...) | (...);
                                getFullWidth?: (...) | (...);
                                getLastToken?: (...) | (...);
                                getLeadingTriviaWidth?: (...) | (...);
                                getLineAndCharacterOfPosition?: (...) | (...);
                                getLineEndOfPosition?: (...) | (...);
                                getLineStarts?: (...) | (...);
                                getPositionOfLineAndCharacter?: (...) | (...);
                                getSourceFile?: (...) | (...);
                                getStart?: (...) | (...);
                                getText?: (...) | (...);
                                getWidth?: (...) | (...);
                                hasNoDefaultLib?: (...) | (...) | (...);
                                impliedNodeFormat?: (...) | (...) | (...);
                                isDeclarationFile?: (...) | (...) | (...);
                                kind?: (...) | (...);
                                languageVariant?: (...) | (...);
                                languageVersion?: (...) | (...);
                                libReferenceDirectives?: (...) | (...);
                                modifiers?: (...) | (...);
                                moduleName?: (...) | (...);
                                parent?: (...) | (...);
                                pos?: (...) | (...);
                                referencedFiles?: (...) | (...);
                                statements?: (...) | (...);
                                text?: (...) | (...);
                                typeReferenceDirectives?: (...) | (...);
                                update?: (...) | (...);
                            }
                            | null
                            | undefined;
                    };
                    defaultNumberType?: "number"
                    | "integer";
                    defaultProps?: boolean;
                    esModuleInterop?: boolean;
                    excludePrivate?: boolean;
                    id?: string;
                    ignoreErrors?: boolean;
                    include?: (string | undefined)[];
                    noExtraProps?: boolean;
                    out?: string;
                    propOrder?: boolean;
                    ref?: boolean;
                    rejectDateType?: boolean;
                    required?: boolean;
                    skipLibCheck?: boolean;
                    strictNullChecks?: boolean;
                    titles?: boolean;
                    topRef?: boolean;
                    tsNodeRegister?: boolean;
                    typeOfKeyword?: boolean;
                    uniqueNames?: boolean;
                    validationKeywords?: (string | undefined)[];
                };
            };
            typeMapping?: {
                Any?: TypeMappingFunction<
                    ConstrainedAnyModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Array?: TypeMappingFunction<
                    ConstrainedArrayModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Boolean?: TypeMappingFunction<
                    ConstrainedBooleanModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Dictionary?: TypeMappingFunction<
                    ConstrainedDictionaryModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Enum?: TypeMappingFunction<
                    ConstrainedEnumModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Float?: TypeMappingFunction<
                    ConstrainedFloatModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Integer?: TypeMappingFunction<
                    ConstrainedIntegerModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Object?: TypeMappingFunction<
                    ConstrainedObjectModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Reference?: TypeMappingFunction<
                    ConstrainedReferenceModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                String?: TypeMappingFunction<
                    ConstrainedStringModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Tuple?: TypeMappingFunction<
                    ConstrainedTupleModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Union?: TypeMappingFunction<
                    ConstrainedUnionModel,
                    GoOptions,
                    GoDependencyManager,
                >;
            };
            unionAnyModelName?: string;
            unionArrModelName?: string;
            unionDictModelName?: string;
        }
        • Optionalconstraints?: {
              constant?: ConstantConstraint<GoOptions>;
              enumKey?: EnumKeyConstraint<GoOptions>;
              enumValue?: EnumValueConstraint<GoOptions>;
              modelName?: ModelNameConstraint<GoOptions>;
              propertyKey?: PropertyKeyConstraint<GoOptions>;
          }
        • OptionaldefaultPreset?: {
              enum?: {
                  additionalContent?: (
                      args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                  ) => string | Promise<string>;
                  item?: (
                      args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel> & EnumArgs & {
                          index: number;
                      },
                  ) => string;
                  self?: (
                      args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                  ) => string | Promise<string>;
              };
              struct?: {
                  additionalContent?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                  ) => string | Promise<string>;
                  discriminator?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedUnionModel>,
                  ) => string;
                  field?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedObjectModel> & FieldArgs,
                  ) => string | Promise<string>;
                  self?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                  ) => string | Promise<string>;
              };
              union?: {
                  additionalContent?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                  ) => string | Promise<string>;
                  discriminator?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                  ) => string;
                  field?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel> & UnionFieldArgs,
                  ) => string | Promise<string>;
                  self?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                  ) => string | Promise<string>;
              };
          }
        • OptionaldependencyManager?:
              | (() => AbstractDependencyManager)
              | {
                  addDependency?: (dependency: string) => void;
                  dependencies?: (string | undefined)[];
              }

          This dependency manager type serves two functions.

          1. It can be used to provide a factory for generate functions
          2. It can be used to provide a single instance of a dependency manager, to add all dependencies together

          This depends on context and where it's used.

        • Optionalindentation?: { size?: number; type?: IndentationTypes }
        • Optionalpresets?: (
              | {
                  enum?: {
                      additionalContent?: (
                          args: PresetArgs<(...), (...), (...)>,
                      ) => (...) | (...);
                      item?: (args: (...) & (...) & (...)) => string;
                      self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                  };
                  struct?: {
                      additionalContent?: (
                          args: PresetArgs<(...), (...), (...)>,
                      ) => (...) | (...);
                      discriminator?: (args: PresetArgs<(...), (...), (...)>) => string;
                      field?: (args: (...) & (...)) => (...) | (...);
                      self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                  };
                  union?: {
                      additionalContent?: (
                          args: PresetArgs<(...), (...), (...)>,
                      ) => (...) | (...);
                      discriminator?: (args: PresetArgs<(...), (...), (...)>) => string;
                      field?: (args: (...) & (...)) => (...) | (...);
                      self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                  };
              }
              | {
                  options?: any;
                  preset?: {
                      enum?: {
                          additionalContent?: (...)
                          | (...);
                          item?: (...) | (...);
                          self?: (...) | (...);
                      };
                      struct?: {
                          additionalContent?: (...)
                          | (...);
                          discriminator?: (...) | (...);
                          field?: (...) | (...);
                          self?: (...) | (...);
                      };
                      union?: {
                          additionalContent?: (...)
                          | (...);
                          discriminator?: (...) | (...);
                          field?: (...) | (...);
                          self?: (...) | (...);
                      };
                  };
              }
              | undefined
          )[]
        • OptionalprocessorOptions?: {
              asyncapi?: {
                  __unstable?: { resolver?: { resolvers?: (...) | (...) } };
                  applyTraits?: boolean;
                  parseSchemas?: boolean;
                  source?: string;
                  validateOptions?: {
                      __unstable?: { resolver?: (...) | (...) };
                      allowedSeverity?: {
                          error?: (...) | (...) | (...);
                          hint?: (...) | (...) | (...);
                          info?: (...) | (...) | (...);
                          warning?: (...) | (...) | (...);
                      };
                      ignoreUnknownFormat?: boolean;
                  };
              };
              jsonSchema?: {
                  allowInheritance?: boolean;
                  disableCache?: boolean;
                  discriminator?: string;
                  ignoreAdditionalItems?: boolean;
                  ignoreAdditionalProperties?: boolean;
                  interpretSingleEnumAsConst?: boolean;
                  propertyNameForAdditionalProperties?: string;
              };
              openapi?: { includeComponentSchemas?: boolean };
              typescript?: {
                  aliasRef?: boolean;
                  compilerOptions?: {
                      allowJs?: boolean;
                      allowSyntheticDefaultImports?: boolean;
                      allowUmdGlobalAccess?: boolean;
                      allowUnreachableCode?: boolean;
                      allowUnusedLabels?: boolean;
                      alwaysStrict?: boolean;
                      assumeChangesOnlyAffectDirectDependencies?: boolean;
                      baseUrl?: string;
                      charset?: string;
                      checkJs?: boolean;
                      composite?: boolean;
                      declaration?: boolean;
                      declarationDir?: string;
                      declarationMap?: boolean;
                      disableReferencedProjectLoad?: boolean;
                      disableSizeLimit?: boolean;
                      disableSolutionSearching?: boolean;
                      disableSourceOfProjectReferenceRedirect?: boolean;
                      downlevelIteration?: boolean;
                      emitBOM?: boolean;
                      emitDeclarationOnly?: boolean;
                      emitDecoratorMetadata?: boolean;
                      esModuleInterop?: boolean;
                      exactOptionalPropertyTypes?: boolean;
                      experimentalDecorators?: boolean;
                      forceConsistentCasingInFileNames?: boolean;
                      importHelpers?: boolean;
                      importsNotUsedAsValues?: ImportsNotUsedAsValues;
                      incremental?: boolean;
                      inlineSourceMap?: boolean;
                      inlineSources?: boolean;
                      isolatedModules?: boolean;
                      jsx?: JsxEmit;
                      jsxFactory?: string;
                      jsxFragmentFactory?: string;
                      jsxImportSource?: string;
                      keyofStringsOnly?: boolean;
                      lib?: ((...) | (...))[];
                      locale?: string;
                      mapRoot?: string;
                      maxNodeModuleJsDepth?: number;
                      module?: ModuleKind;
                      moduleDetection?: ModuleDetectionKind;
                      moduleResolution?: ModuleResolutionKind;
                      moduleSuffixes?: ((...) | (...))[];
                      newLine?: NewLineKind;
                      noEmit?: boolean;
                      noEmitHelpers?: boolean;
                      noEmitOnError?: boolean;
                      noErrorTruncation?: boolean;
                      noFallthroughCasesInSwitch?: boolean;
                      noImplicitAny?: boolean;
                      noImplicitOverride?: boolean;
                      noImplicitReturns?: boolean;
                      noImplicitThis?: boolean;
                      noImplicitUseStrict?: boolean;
                      noLib?: boolean;
                      noPropertyAccessFromIndexSignature?: boolean;
                      noResolve?: boolean;
                      noStrictGenericChecks?: boolean;
                      noUncheckedIndexedAccess?: boolean;
                      noUnusedLocals?: boolean;
                      noUnusedParameters?: boolean;
                      out?: string;
                      outDir?: string;
                      outFile?: string;
                      paths?: { [key: string]: (...) | (...) };
                      preserveConstEnums?: boolean;
                      preserveSymlinks?: boolean;
                      preserveValueImports?: boolean;
                      project?: string;
                      reactNamespace?: string;
                      removeComments?: boolean;
                      resolveJsonModule?: boolean;
                      rootDir?: string;
                      rootDirs?: ((...) | (...))[];
                      skipDefaultLibCheck?: boolean;
                      skipLibCheck?: boolean;
                      sourceMap?: boolean;
                      sourceRoot?: string;
                      strict?: boolean;
                      strictBindCallApply?: boolean;
                      strictFunctionTypes?: boolean;
                      strictNullChecks?: boolean;
                      strictPropertyInitialization?: boolean;
                      stripInternal?: boolean;
                      suppressExcessPropertyErrors?: boolean;
                      suppressImplicitAnyIndexErrors?: boolean;
                      target?: ScriptTarget;
                      traceResolution?: boolean;
                      tsBuildInfoFile?: string;
                      typeRoots?: ((...) | (...))[];
                      types?: ((...) | (...))[];
                      useDefineForClassFields?: boolean;
                      useUnknownInCatchVariables?: boolean;
                      [key: string]:
                          | string
                          | number
                          | boolean
                          | ((...) | (...))[]
                          | ((...) | (...) | (...))[]
                          | { [key: string]: (...) | (...) }
                          | ((...) | (...))[]
                          | ((...) | (...))[]
                          | {
                              _declarationBrand?: any;
                              amdDependencies?: (...) | (...);
                              decorators?: undefined;
                              end?: (...) | (...);
                              endOfFileToken?: (...) | (...);
                              extendedSourceFiles?: (...) | (...);
                              fileName?: (...) | (...);
                              flags?: (...) | (...);
                              forEachChild?: (...) | (...);
                              getChildAt?: (...) | (...);
                              getChildCount?: (...) | (...);
                              getChildren?: (...) | (...);
                              getEnd?: (...) | (...);
                              getFirstToken?: (...) | (...);
                              getFullStart?: (...) | (...);
                              getFullText?: (...) | (...);
                              getFullWidth?: (...) | (...);
                              getLastToken?: (...) | (...);
                              getLeadingTriviaWidth?: (...) | (...);
                              getLineAndCharacterOfPosition?: (...) | (...);
                              getLineEndOfPosition?: (...) | (...);
                              getLineStarts?: (...) | (...);
                              getPositionOfLineAndCharacter?: (...) | (...);
                              getSourceFile?: (...) | (...);
                              getStart?: (...) | (...);
                              getText?: (...) | (...);
                              getWidth?: (...) | (...);
                              hasNoDefaultLib?: (...) | (...) | (...);
                              impliedNodeFormat?: (...) | (...) | (...);
                              isDeclarationFile?: (...) | (...) | (...);
                              kind?: (...) | (...);
                              languageVariant?: (...) | (...);
                              languageVersion?: (...) | (...);
                              libReferenceDirectives?: (...) | (...);
                              modifiers?: (...) | (...);
                              moduleName?: (...) | (...);
                              parent?: (...) | (...);
                              pos?: (...) | (...);
                              referencedFiles?: (...) | (...);
                              statements?: (...) | (...);
                              text?: (...) | (...);
                              typeReferenceDirectives?: (...) | (...);
                              update?: (...) | (...);
                          }
                          | null
                          | undefined;
                  };
                  defaultNumberType?: "number"
                  | "integer";
                  defaultProps?: boolean;
                  esModuleInterop?: boolean;
                  excludePrivate?: boolean;
                  id?: string;
                  ignoreErrors?: boolean;
                  include?: (string | undefined)[];
                  noExtraProps?: boolean;
                  out?: string;
                  propOrder?: boolean;
                  ref?: boolean;
                  rejectDateType?: boolean;
                  required?: boolean;
                  skipLibCheck?: boolean;
                  strictNullChecks?: boolean;
                  titles?: boolean;
                  topRef?: boolean;
                  tsNodeRegister?: boolean;
                  typeOfKeyword?: boolean;
                  uniqueNames?: boolean;
                  validationKeywords?: (string | undefined)[];
              };
          }
          • Optionalasyncapi?: {
                __unstable?: { resolver?: { resolvers?: (...) | (...) } };
                applyTraits?: boolean;
                parseSchemas?: boolean;
                source?: string;
                validateOptions?: {
                    __unstable?: { resolver?: (...) | (...) };
                    allowedSeverity?: {
                        error?: (...) | (...) | (...);
                        hint?: (...) | (...) | (...);
                        info?: (...) | (...) | (...);
                        warning?: (...) | (...) | (...);
                    };
                    ignoreUnknownFormat?: boolean;
                };
            }
          • OptionaljsonSchema?: {
                allowInheritance?: boolean;
                disableCache?: boolean;
                discriminator?: string;
                ignoreAdditionalItems?: boolean;
                ignoreAdditionalProperties?: boolean;
                interpretSingleEnumAsConst?: boolean;
                propertyNameForAdditionalProperties?: string;
            }
            • OptionalallowInheritance?: boolean
            • OptionaldisableCache?: boolean

              This options disables the seenSchemas cache in the Interpreter. Use this option to disable the seenSchemas cache when interpreting schemas. This will affect merging of schemas, and should only be used by the internal interpreters when allowInheritance is set to true. This allows the internal interpreters to keep clean copies of the schemas as CommonModel's.

            • Optionaldiscriminator?: string

              When interpreting a schema with discriminator set, this property will be set best by the individual interpreters to make sure the discriminator becomes an enum.

            • OptionalignoreAdditionalItems?: boolean

              For JSON Schema draft 7, additionalItems are by default true, but it might create an unintended types for arrays.

              Use this option to ignore default additionalItems for models, as long as there is other types sat for the array.

              ONLY use this option if you do not have control over the schema files you use to generate the models from. Instead you should adapt your schemas to be more strict by setting additionalItems: false.

            • OptionalignoreAdditionalProperties?: boolean

              For JSON Schema draft 7, additionalProperties are by default true, but it might create an unintended property for the models.

              Use this option to ignore default additionalProperties for models that has other properties with them.

              ONLY use this option if you do not have control over your schema files. Instead adapt your schemas to be more strict by setting additionalProperties: false.

            • OptionalinterpretSingleEnumAsConst?: boolean

              This option enables that a single enum value {enum: ['test']} is interpreted the same as if the value was {const: 'test'} Use this option to reduce the number of enums being created and use constant values instead.

            • OptionalpropertyNameForAdditionalProperties?: string

              This option changes which property name that should be used to represent additionalProperties in JSON Schema

          • Optionalopenapi?: { includeComponentSchemas?: boolean }
          • Optionaltypescript?: {
                aliasRef?: boolean;
                compilerOptions?: {
                    allowJs?: boolean;
                    allowSyntheticDefaultImports?: boolean;
                    allowUmdGlobalAccess?: boolean;
                    allowUnreachableCode?: boolean;
                    allowUnusedLabels?: boolean;
                    alwaysStrict?: boolean;
                    assumeChangesOnlyAffectDirectDependencies?: boolean;
                    baseUrl?: string;
                    charset?: string;
                    checkJs?: boolean;
                    composite?: boolean;
                    declaration?: boolean;
                    declarationDir?: string;
                    declarationMap?: boolean;
                    disableReferencedProjectLoad?: boolean;
                    disableSizeLimit?: boolean;
                    disableSolutionSearching?: boolean;
                    disableSourceOfProjectReferenceRedirect?: boolean;
                    downlevelIteration?: boolean;
                    emitBOM?: boolean;
                    emitDeclarationOnly?: boolean;
                    emitDecoratorMetadata?: boolean;
                    esModuleInterop?: boolean;
                    exactOptionalPropertyTypes?: boolean;
                    experimentalDecorators?: boolean;
                    forceConsistentCasingInFileNames?: boolean;
                    importHelpers?: boolean;
                    importsNotUsedAsValues?: ImportsNotUsedAsValues;
                    incremental?: boolean;
                    inlineSourceMap?: boolean;
                    inlineSources?: boolean;
                    isolatedModules?: boolean;
                    jsx?: JsxEmit;
                    jsxFactory?: string;
                    jsxFragmentFactory?: string;
                    jsxImportSource?: string;
                    keyofStringsOnly?: boolean;
                    lib?: ((...) | (...))[];
                    locale?: string;
                    mapRoot?: string;
                    maxNodeModuleJsDepth?: number;
                    module?: ModuleKind;
                    moduleDetection?: ModuleDetectionKind;
                    moduleResolution?: ModuleResolutionKind;
                    moduleSuffixes?: ((...) | (...))[];
                    newLine?: NewLineKind;
                    noEmit?: boolean;
                    noEmitHelpers?: boolean;
                    noEmitOnError?: boolean;
                    noErrorTruncation?: boolean;
                    noFallthroughCasesInSwitch?: boolean;
                    noImplicitAny?: boolean;
                    noImplicitOverride?: boolean;
                    noImplicitReturns?: boolean;
                    noImplicitThis?: boolean;
                    noImplicitUseStrict?: boolean;
                    noLib?: boolean;
                    noPropertyAccessFromIndexSignature?: boolean;
                    noResolve?: boolean;
                    noStrictGenericChecks?: boolean;
                    noUncheckedIndexedAccess?: boolean;
                    noUnusedLocals?: boolean;
                    noUnusedParameters?: boolean;
                    out?: string;
                    outDir?: string;
                    outFile?: string;
                    paths?: { [key: string]: (...) | (...) };
                    preserveConstEnums?: boolean;
                    preserveSymlinks?: boolean;
                    preserveValueImports?: boolean;
                    project?: string;
                    reactNamespace?: string;
                    removeComments?: boolean;
                    resolveJsonModule?: boolean;
                    rootDir?: string;
                    rootDirs?: ((...) | (...))[];
                    skipDefaultLibCheck?: boolean;
                    skipLibCheck?: boolean;
                    sourceMap?: boolean;
                    sourceRoot?: string;
                    strict?: boolean;
                    strictBindCallApply?: boolean;
                    strictFunctionTypes?: boolean;
                    strictNullChecks?: boolean;
                    strictPropertyInitialization?: boolean;
                    stripInternal?: boolean;
                    suppressExcessPropertyErrors?: boolean;
                    suppressImplicitAnyIndexErrors?: boolean;
                    target?: ScriptTarget;
                    traceResolution?: boolean;
                    tsBuildInfoFile?: string;
                    typeRoots?: ((...) | (...))[];
                    types?: ((...) | (...))[];
                    useDefineForClassFields?: boolean;
                    useUnknownInCatchVariables?: boolean;
                    [key: string]:
                        | string
                        | number
                        | boolean
                        | ((...) | (...))[]
                        | ((...) | (...) | (...))[]
                        | { [key: string]: (...) | (...) }
                        | ((...) | (...))[]
                        | ((...) | (...))[]
                        | {
                            _declarationBrand?: any;
                            amdDependencies?: (...) | (...);
                            decorators?: undefined;
                            end?: (...) | (...);
                            endOfFileToken?: (...) | (...);
                            extendedSourceFiles?: (...) | (...);
                            fileName?: (...) | (...);
                            flags?: (...) | (...);
                            forEachChild?: (...) | (...);
                            getChildAt?: (...) | (...);
                            getChildCount?: (...) | (...);
                            getChildren?: (...) | (...);
                            getEnd?: (...) | (...);
                            getFirstToken?: (...) | (...);
                            getFullStart?: (...) | (...);
                            getFullText?: (...) | (...);
                            getFullWidth?: (...) | (...);
                            getLastToken?: (...) | (...);
                            getLeadingTriviaWidth?: (...) | (...);
                            getLineAndCharacterOfPosition?: (...) | (...);
                            getLineEndOfPosition?: (...) | (...);
                            getLineStarts?: (...) | (...);
                            getPositionOfLineAndCharacter?: (...) | (...);
                            getSourceFile?: (...) | (...);
                            getStart?: (...) | (...);
                            getText?: (...) | (...);
                            getWidth?: (...) | (...);
                            hasNoDefaultLib?: (...) | (...) | (...);
                            impliedNodeFormat?: (...) | (...) | (...);
                            isDeclarationFile?: (...) | (...) | (...);
                            kind?: (...) | (...);
                            languageVariant?: (...) | (...);
                            languageVersion?: (...) | (...);
                            libReferenceDirectives?: (...) | (...);
                            modifiers?: (...) | (...);
                            moduleName?: (...) | (...);
                            parent?: (...) | (...);
                            pos?: (...) | (...);
                            referencedFiles?: (...) | (...);
                            statements?: (...) | (...);
                            text?: (...) | (...);
                            typeReferenceDirectives?: (...) | (...);
                            update?: (...) | (...);
                        }
                        | null
                        | undefined;
                };
                defaultNumberType?: "number"
                | "integer";
                defaultProps?: boolean;
                esModuleInterop?: boolean;
                excludePrivate?: boolean;
                id?: string;
                ignoreErrors?: boolean;
                include?: (string | undefined)[];
                noExtraProps?: boolean;
                out?: string;
                propOrder?: boolean;
                ref?: boolean;
                rejectDateType?: boolean;
                required?: boolean;
                skipLibCheck?: boolean;
                strictNullChecks?: boolean;
                titles?: boolean;
                topRef?: boolean;
                tsNodeRegister?: boolean;
                typeOfKeyword?: boolean;
                uniqueNames?: boolean;
                validationKeywords?: (string | undefined)[];
            }
            • OptionalaliasRef?: boolean
            • OptionalcompilerOptions?: {
                  allowJs?: boolean;
                  allowSyntheticDefaultImports?: boolean;
                  allowUmdGlobalAccess?: boolean;
                  allowUnreachableCode?: boolean;
                  allowUnusedLabels?: boolean;
                  alwaysStrict?: boolean;
                  assumeChangesOnlyAffectDirectDependencies?: boolean;
                  baseUrl?: string;
                  charset?: string;
                  checkJs?: boolean;
                  composite?: boolean;
                  declaration?: boolean;
                  declarationDir?: string;
                  declarationMap?: boolean;
                  disableReferencedProjectLoad?: boolean;
                  disableSizeLimit?: boolean;
                  disableSolutionSearching?: boolean;
                  disableSourceOfProjectReferenceRedirect?: boolean;
                  downlevelIteration?: boolean;
                  emitBOM?: boolean;
                  emitDeclarationOnly?: boolean;
                  emitDecoratorMetadata?: boolean;
                  esModuleInterop?: boolean;
                  exactOptionalPropertyTypes?: boolean;
                  experimentalDecorators?: boolean;
                  forceConsistentCasingInFileNames?: boolean;
                  importHelpers?: boolean;
                  importsNotUsedAsValues?: ImportsNotUsedAsValues;
                  incremental?: boolean;
                  inlineSourceMap?: boolean;
                  inlineSources?: boolean;
                  isolatedModules?: boolean;
                  jsx?: JsxEmit;
                  jsxFactory?: string;
                  jsxFragmentFactory?: string;
                  jsxImportSource?: string;
                  keyofStringsOnly?: boolean;
                  lib?: ((...) | (...))[];
                  locale?: string;
                  mapRoot?: string;
                  maxNodeModuleJsDepth?: number;
                  module?: ModuleKind;
                  moduleDetection?: ModuleDetectionKind;
                  moduleResolution?: ModuleResolutionKind;
                  moduleSuffixes?: ((...) | (...))[];
                  newLine?: NewLineKind;
                  noEmit?: boolean;
                  noEmitHelpers?: boolean;
                  noEmitOnError?: boolean;
                  noErrorTruncation?: boolean;
                  noFallthroughCasesInSwitch?: boolean;
                  noImplicitAny?: boolean;
                  noImplicitOverride?: boolean;
                  noImplicitReturns?: boolean;
                  noImplicitThis?: boolean;
                  noImplicitUseStrict?: boolean;
                  noLib?: boolean;
                  noPropertyAccessFromIndexSignature?: boolean;
                  noResolve?: boolean;
                  noStrictGenericChecks?: boolean;
                  noUncheckedIndexedAccess?: boolean;
                  noUnusedLocals?: boolean;
                  noUnusedParameters?: boolean;
                  out?: string;
                  outDir?: string;
                  outFile?: string;
                  paths?: { [key: string]: (...) | (...) };
                  preserveConstEnums?: boolean;
                  preserveSymlinks?: boolean;
                  preserveValueImports?: boolean;
                  project?: string;
                  reactNamespace?: string;
                  removeComments?: boolean;
                  resolveJsonModule?: boolean;
                  rootDir?: string;
                  rootDirs?: ((...) | (...))[];
                  skipDefaultLibCheck?: boolean;
                  skipLibCheck?: boolean;
                  sourceMap?: boolean;
                  sourceRoot?: string;
                  strict?: boolean;
                  strictBindCallApply?: boolean;
                  strictFunctionTypes?: boolean;
                  strictNullChecks?: boolean;
                  strictPropertyInitialization?: boolean;
                  stripInternal?: boolean;
                  suppressExcessPropertyErrors?: boolean;
                  suppressImplicitAnyIndexErrors?: boolean;
                  target?: ScriptTarget;
                  traceResolution?: boolean;
                  tsBuildInfoFile?: string;
                  typeRoots?: ((...) | (...))[];
                  types?: ((...) | (...))[];
                  useDefineForClassFields?: boolean;
                  useUnknownInCatchVariables?: boolean;
                  [key: string]:
                      | string
                      | number
                      | boolean
                      | ((...) | (...))[]
                      | ((...) | (...) | (...))[]
                      | { [key: string]: (...) | (...) }
                      | ((...) | (...))[]
                      | ((...) | (...))[]
                      | {
                          _declarationBrand?: any;
                          amdDependencies?: (...) | (...);
                          decorators?: undefined;
                          end?: (...) | (...);
                          endOfFileToken?: (...) | (...);
                          extendedSourceFiles?: (...) | (...);
                          fileName?: (...) | (...);
                          flags?: (...) | (...);
                          forEachChild?: (...) | (...);
                          getChildAt?: (...) | (...);
                          getChildCount?: (...) | (...);
                          getChildren?: (...) | (...);
                          getEnd?: (...) | (...);
                          getFirstToken?: (...) | (...);
                          getFullStart?: (...) | (...);
                          getFullText?: (...) | (...);
                          getFullWidth?: (...) | (...);
                          getLastToken?: (...) | (...);
                          getLeadingTriviaWidth?: (...) | (...);
                          getLineAndCharacterOfPosition?: (...) | (...);
                          getLineEndOfPosition?: (...) | (...);
                          getLineStarts?: (...) | (...);
                          getPositionOfLineAndCharacter?: (...) | (...);
                          getSourceFile?: (...) | (...);
                          getStart?: (...) | (...);
                          getText?: (...) | (...);
                          getWidth?: (...) | (...);
                          hasNoDefaultLib?: (...) | (...) | (...);
                          impliedNodeFormat?: (...) | (...) | (...);
                          isDeclarationFile?: (...) | (...) | (...);
                          kind?: (...) | (...);
                          languageVariant?: (...) | (...);
                          languageVersion?: (...) | (...);
                          libReferenceDirectives?: (...) | (...);
                          modifiers?: (...) | (...);
                          moduleName?: (...) | (...);
                          parent?: (...) | (...);
                          pos?: (...) | (...);
                          referencedFiles?: (...) | (...);
                          statements?: (...) | (...);
                          text?: (...) | (...);
                          typeReferenceDirectives?: (...) | (...);
                          update?: (...) | (...);
                      }
                      | null
                      | undefined;
              }
              • OptionalallowJs?: boolean
              • OptionalallowSyntheticDefaultImports?: boolean
              • OptionalallowUmdGlobalAccess?: boolean
              • OptionalallowUnreachableCode?: boolean
              • OptionalallowUnusedLabels?: boolean
              • OptionalalwaysStrict?: boolean
              • OptionalassumeChangesOnlyAffectDirectDependencies?: boolean
              • OptionalbaseUrl?: string
              • Optionalcharset?: string
              • OptionalcheckJs?: boolean
              • Optionalcomposite?: boolean
              • Optionaldeclaration?: boolean
              • OptionaldeclarationDir?: string
              • OptionaldeclarationMap?: boolean
              • OptionaldisableReferencedProjectLoad?: boolean
              • OptionaldisableSizeLimit?: boolean
              • OptionaldisableSolutionSearching?: boolean
              • OptionaldisableSourceOfProjectReferenceRedirect?: boolean
              • OptionaldownlevelIteration?: boolean
              • OptionalemitBOM?: boolean
              • OptionalemitDeclarationOnly?: boolean
              • OptionalemitDecoratorMetadata?: boolean
              • OptionalesModuleInterop?: boolean
              • OptionalexactOptionalPropertyTypes?: boolean
              • OptionalexperimentalDecorators?: boolean
              • OptionalforceConsistentCasingInFileNames?: boolean
              • OptionalimportHelpers?: boolean
              • OptionalimportsNotUsedAsValues?: ImportsNotUsedAsValues
              • Optionalincremental?: boolean
              • OptionalinlineSourceMap?: boolean
              • OptionalinlineSources?: boolean
              • OptionalisolatedModules?: boolean
              • Optionaljsx?: JsxEmit
              • OptionaljsxFactory?: string
              • OptionaljsxFragmentFactory?: string
              • OptionaljsxImportSource?: string
              • OptionalkeyofStringsOnly?: boolean
              • Optionallib?: ((...) | (...))[]
              • Optionallocale?: string
              • OptionalmapRoot?: string
              • OptionalmaxNodeModuleJsDepth?: number
              • Optionalmodule?: ModuleKind
              • OptionalmoduleDetection?: ModuleDetectionKind
              • OptionalmoduleResolution?: ModuleResolutionKind
              • OptionalmoduleSuffixes?: ((...) | (...))[]
              • OptionalnewLine?: NewLineKind
              • OptionalnoEmit?: boolean
              • OptionalnoEmitHelpers?: boolean
              • OptionalnoEmitOnError?: boolean
              • OptionalnoErrorTruncation?: boolean
              • OptionalnoFallthroughCasesInSwitch?: boolean
              • OptionalnoImplicitAny?: boolean
              • OptionalnoImplicitOverride?: boolean
              • OptionalnoImplicitReturns?: boolean
              • OptionalnoImplicitThis?: boolean
              • OptionalnoImplicitUseStrict?: boolean
              • OptionalnoLib?: boolean
              • OptionalnoPropertyAccessFromIndexSignature?: boolean
              • OptionalnoResolve?: boolean
              • OptionalnoStrictGenericChecks?: boolean
              • OptionalnoUncheckedIndexedAccess?: boolean
              • OptionalnoUnusedLocals?: boolean
              • OptionalnoUnusedParameters?: boolean
              • Optionalout?: string
              • OptionaloutDir?: string
              • OptionaloutFile?: string
              • Optionalpaths?: { [key: string]: (...) | (...) }
              • OptionalpreserveConstEnums?: boolean
              • OptionalpreserveSymlinks?: boolean
              • OptionalpreserveValueImports?: boolean
              • Optionalproject?: string
              • OptionalreactNamespace?: string
              • OptionalremoveComments?: boolean
              • OptionalresolveJsonModule?: boolean
              • OptionalrootDir?: string
              • OptionalrootDirs?: ((...) | (...))[]
              • OptionalskipDefaultLibCheck?: boolean
              • OptionalskipLibCheck?: boolean
              • OptionalsourceMap?: boolean
              • OptionalsourceRoot?: string
              • Optionalstrict?: boolean
              • OptionalstrictBindCallApply?: boolean
              • OptionalstrictFunctionTypes?: boolean
              • OptionalstrictNullChecks?: boolean
              • OptionalstrictPropertyInitialization?: boolean
              • OptionalstripInternal?: boolean
              • OptionalsuppressExcessPropertyErrors?: boolean
              • OptionalsuppressImplicitAnyIndexErrors?: boolean
              • Optionaltarget?: ScriptTarget
              • OptionaltraceResolution?: boolean
              • OptionaltsBuildInfoFile?: string
              • OptionaltypeRoots?: ((...) | (...))[]

                Paths used to compute primary types search locations

              • Optionaltypes?: ((...) | (...))[]
              • OptionaluseDefineForClassFields?: boolean
              • OptionaluseUnknownInCatchVariables?: boolean
            • OptionaldefaultNumberType?: "number" | "integer"
            • OptionaldefaultProps?: boolean
            • OptionalesModuleInterop?: boolean
            • OptionalexcludePrivate?: boolean
            • Optionalid?: string
            • OptionalignoreErrors?: boolean
            • Optionalinclude?: (string | undefined)[]
            • OptionalnoExtraProps?: boolean
            • Optionalout?: string
            • OptionalpropOrder?: boolean
            • Optionalref?: boolean
            • OptionalrejectDateType?: boolean
            • Optionalrequired?: boolean
            • OptionalskipLibCheck?: boolean
            • OptionalstrictNullChecks?: boolean
            • Optionaltitles?: boolean
            • OptionaltopRef?: boolean
            • OptionaltsNodeRegister?: boolean
            • OptionaltypeOfKeyword?: boolean
            • OptionaluniqueNames?: boolean
            • OptionalvalidationKeywords?: (string | undefined)[]
        • OptionaltypeMapping?: {
              Any?: TypeMappingFunction<
                  ConstrainedAnyModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Array?: TypeMappingFunction<
                  ConstrainedArrayModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Boolean?: TypeMappingFunction<
                  ConstrainedBooleanModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Dictionary?: TypeMappingFunction<
                  ConstrainedDictionaryModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Enum?: TypeMappingFunction<
                  ConstrainedEnumModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Float?: TypeMappingFunction<
                  ConstrainedFloatModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Integer?: TypeMappingFunction<
                  ConstrainedIntegerModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Object?: TypeMappingFunction<
                  ConstrainedObjectModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Reference?: TypeMappingFunction<
                  ConstrainedReferenceModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              String?: TypeMappingFunction<
                  ConstrainedStringModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Tuple?: TypeMappingFunction<
                  ConstrainedTupleModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Union?: TypeMappingFunction<
                  ConstrainedUnionModel,
                  GoOptions,
                  GoDependencyManager,
              >;
          }
        • OptionalunionAnyModelName?: string
        • OptionalunionArrModelName?: string
        • OptionalunionDictModelName?: string

      Returns Promise<RenderOutput>

    • Parameters

      • model: ConstrainedObjectModel
      • inputModel: InputMetaModel
      • Optionaloptions: {
            constraints?: {
                constant?: ConstantConstraint<GoOptions>;
                enumKey?: EnumKeyConstraint<GoOptions>;
                enumValue?: EnumValueConstraint<GoOptions>;
                modelName?: ModelNameConstraint<GoOptions>;
                propertyKey?: PropertyKeyConstraint<GoOptions>;
            };
            defaultPreset?: {
                enum?: {
                    additionalContent?: (
                        args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                    ) => string | Promise<string>;
                    item?: (
                        args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel> & EnumArgs & {
                            index: number;
                        },
                    ) => string;
                    self?: (
                        args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                    ) => string | Promise<string>;
                };
                struct?: {
                    additionalContent?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                    ) => string | Promise<string>;
                    discriminator?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedUnionModel>,
                    ) => string;
                    field?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedObjectModel> & FieldArgs,
                    ) => string | Promise<string>;
                    self?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                    ) => string | Promise<string>;
                };
                union?: {
                    additionalContent?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                    ) => string | Promise<string>;
                    discriminator?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                    ) => string;
                    field?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel> & UnionFieldArgs,
                    ) => string | Promise<string>;
                    self?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                    ) => string | Promise<string>;
                };
            };
            dependencyManager?: | (() => AbstractDependencyManager)
            | {
                addDependency?: (dependency: string) => void;
                dependencies?: (string | undefined)[];
            };
            indentation?: { size?: number; type?: IndentationTypes };
            presets?: (
                | {
                    enum?: {
                        additionalContent?: (
                            args: PresetArgs<(...), (...), (...)>,
                        ) => (...) | (...);
                        item?: (args: (...) & (...) & (...)) => string;
                        self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                    };
                    struct?: {
                        additionalContent?: (
                            args: PresetArgs<(...), (...), (...)>,
                        ) => (...) | (...);
                        discriminator?: (args: PresetArgs<(...), (...), (...)>) => string;
                        field?: (args: (...) & (...)) => (...) | (...);
                        self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                    };
                    union?: {
                        additionalContent?: (
                            args: PresetArgs<(...), (...), (...)>,
                        ) => (...) | (...);
                        discriminator?: (args: PresetArgs<(...), (...), (...)>) => string;
                        field?: (args: (...) & (...)) => (...) | (...);
                        self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                    };
                }
                | {
                    options?: any;
                    preset?: {
                        enum?: {
                            additionalContent?: (...)
                            | (...);
                            item?: (...) | (...);
                            self?: (...) | (...);
                        };
                        struct?: {
                            additionalContent?: (...)
                            | (...);
                            discriminator?: (...) | (...);
                            field?: (...) | (...);
                            self?: (...) | (...);
                        };
                        union?: {
                            additionalContent?: (...)
                            | (...);
                            discriminator?: (...) | (...);
                            field?: (...) | (...);
                            self?: (...) | (...);
                        };
                    };
                }
                | undefined
            )[];
            processorOptions?: {
                asyncapi?: {
                    __unstable?: { resolver?: { resolvers?: (...)
                    | (...) } };
                    applyTraits?: boolean;
                    parseSchemas?: boolean;
                    source?: string;
                    validateOptions?: {
                        __unstable?: { resolver?: (...) | (...) };
                        allowedSeverity?: {
                            error?: (...) | (...) | (...);
                            hint?: (...) | (...) | (...);
                            info?: (...) | (...) | (...);
                            warning?: (...) | (...) | (...);
                        };
                        ignoreUnknownFormat?: boolean;
                    };
                };
                jsonSchema?: {
                    allowInheritance?: boolean;
                    disableCache?: boolean;
                    discriminator?: string;
                    ignoreAdditionalItems?: boolean;
                    ignoreAdditionalProperties?: boolean;
                    interpretSingleEnumAsConst?: boolean;
                    propertyNameForAdditionalProperties?: string;
                };
                openapi?: { includeComponentSchemas?: boolean };
                typescript?: {
                    aliasRef?: boolean;
                    compilerOptions?: {
                        allowJs?: boolean;
                        allowSyntheticDefaultImports?: boolean;
                        allowUmdGlobalAccess?: boolean;
                        allowUnreachableCode?: boolean;
                        allowUnusedLabels?: boolean;
                        alwaysStrict?: boolean;
                        assumeChangesOnlyAffectDirectDependencies?: boolean;
                        baseUrl?: string;
                        charset?: string;
                        checkJs?: boolean;
                        composite?: boolean;
                        declaration?: boolean;
                        declarationDir?: string;
                        declarationMap?: boolean;
                        disableReferencedProjectLoad?: boolean;
                        disableSizeLimit?: boolean;
                        disableSolutionSearching?: boolean;
                        disableSourceOfProjectReferenceRedirect?: boolean;
                        downlevelIteration?: boolean;
                        emitBOM?: boolean;
                        emitDeclarationOnly?: boolean;
                        emitDecoratorMetadata?: boolean;
                        esModuleInterop?: boolean;
                        exactOptionalPropertyTypes?: boolean;
                        experimentalDecorators?: boolean;
                        forceConsistentCasingInFileNames?: boolean;
                        importHelpers?: boolean;
                        importsNotUsedAsValues?: ImportsNotUsedAsValues;
                        incremental?: boolean;
                        inlineSourceMap?: boolean;
                        inlineSources?: boolean;
                        isolatedModules?: boolean;
                        jsx?: JsxEmit;
                        jsxFactory?: string;
                        jsxFragmentFactory?: string;
                        jsxImportSource?: string;
                        keyofStringsOnly?: boolean;
                        lib?: ((...) | (...))[];
                        locale?: string;
                        mapRoot?: string;
                        maxNodeModuleJsDepth?: number;
                        module?: ModuleKind;
                        moduleDetection?: ModuleDetectionKind;
                        moduleResolution?: ModuleResolutionKind;
                        moduleSuffixes?: ((...) | (...))[];
                        newLine?: NewLineKind;
                        noEmit?: boolean;
                        noEmitHelpers?: boolean;
                        noEmitOnError?: boolean;
                        noErrorTruncation?: boolean;
                        noFallthroughCasesInSwitch?: boolean;
                        noImplicitAny?: boolean;
                        noImplicitOverride?: boolean;
                        noImplicitReturns?: boolean;
                        noImplicitThis?: boolean;
                        noImplicitUseStrict?: boolean;
                        noLib?: boolean;
                        noPropertyAccessFromIndexSignature?: boolean;
                        noResolve?: boolean;
                        noStrictGenericChecks?: boolean;
                        noUncheckedIndexedAccess?: boolean;
                        noUnusedLocals?: boolean;
                        noUnusedParameters?: boolean;
                        out?: string;
                        outDir?: string;
                        outFile?: string;
                        paths?: { [key: string]: (...) | (...) };
                        preserveConstEnums?: boolean;
                        preserveSymlinks?: boolean;
                        preserveValueImports?: boolean;
                        project?: string;
                        reactNamespace?: string;
                        removeComments?: boolean;
                        resolveJsonModule?: boolean;
                        rootDir?: string;
                        rootDirs?: ((...) | (...))[];
                        skipDefaultLibCheck?: boolean;
                        skipLibCheck?: boolean;
                        sourceMap?: boolean;
                        sourceRoot?: string;
                        strict?: boolean;
                        strictBindCallApply?: boolean;
                        strictFunctionTypes?: boolean;
                        strictNullChecks?: boolean;
                        strictPropertyInitialization?: boolean;
                        stripInternal?: boolean;
                        suppressExcessPropertyErrors?: boolean;
                        suppressImplicitAnyIndexErrors?: boolean;
                        target?: ScriptTarget;
                        traceResolution?: boolean;
                        tsBuildInfoFile?: string;
                        typeRoots?: ((...) | (...))[];
                        types?: ((...) | (...))[];
                        useDefineForClassFields?: boolean;
                        useUnknownInCatchVariables?: boolean;
                        [key: string]:
                            | string
                            | number
                            | boolean
                            | ((...) | (...))[]
                            | ((...) | (...) | (...))[]
                            | { [key: string]: (...) | (...) }
                            | ((...) | (...))[]
                            | ((...) | (...))[]
                            | {
                                _declarationBrand?: any;
                                amdDependencies?: (...) | (...);
                                decorators?: undefined;
                                end?: (...) | (...);
                                endOfFileToken?: (...) | (...);
                                extendedSourceFiles?: (...) | (...);
                                fileName?: (...) | (...);
                                flags?: (...) | (...);
                                forEachChild?: (...) | (...);
                                getChildAt?: (...) | (...);
                                getChildCount?: (...) | (...);
                                getChildren?: (...) | (...);
                                getEnd?: (...) | (...);
                                getFirstToken?: (...) | (...);
                                getFullStart?: (...) | (...);
                                getFullText?: (...) | (...);
                                getFullWidth?: (...) | (...);
                                getLastToken?: (...) | (...);
                                getLeadingTriviaWidth?: (...) | (...);
                                getLineAndCharacterOfPosition?: (...) | (...);
                                getLineEndOfPosition?: (...) | (...);
                                getLineStarts?: (...) | (...);
                                getPositionOfLineAndCharacter?: (...) | (...);
                                getSourceFile?: (...) | (...);
                                getStart?: (...) | (...);
                                getText?: (...) | (...);
                                getWidth?: (...) | (...);
                                hasNoDefaultLib?: (...) | (...) | (...);
                                impliedNodeFormat?: (...) | (...) | (...);
                                isDeclarationFile?: (...) | (...) | (...);
                                kind?: (...) | (...);
                                languageVariant?: (...) | (...);
                                languageVersion?: (...) | (...);
                                libReferenceDirectives?: (...) | (...);
                                modifiers?: (...) | (...);
                                moduleName?: (...) | (...);
                                parent?: (...) | (...);
                                pos?: (...) | (...);
                                referencedFiles?: (...) | (...);
                                statements?: (...) | (...);
                                text?: (...) | (...);
                                typeReferenceDirectives?: (...) | (...);
                                update?: (...) | (...);
                            }
                            | null
                            | undefined;
                    };
                    defaultNumberType?: "number"
                    | "integer";
                    defaultProps?: boolean;
                    esModuleInterop?: boolean;
                    excludePrivate?: boolean;
                    id?: string;
                    ignoreErrors?: boolean;
                    include?: (string | undefined)[];
                    noExtraProps?: boolean;
                    out?: string;
                    propOrder?: boolean;
                    ref?: boolean;
                    rejectDateType?: boolean;
                    required?: boolean;
                    skipLibCheck?: boolean;
                    strictNullChecks?: boolean;
                    titles?: boolean;
                    topRef?: boolean;
                    tsNodeRegister?: boolean;
                    typeOfKeyword?: boolean;
                    uniqueNames?: boolean;
                    validationKeywords?: (string | undefined)[];
                };
            };
            typeMapping?: {
                Any?: TypeMappingFunction<
                    ConstrainedAnyModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Array?: TypeMappingFunction<
                    ConstrainedArrayModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Boolean?: TypeMappingFunction<
                    ConstrainedBooleanModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Dictionary?: TypeMappingFunction<
                    ConstrainedDictionaryModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Enum?: TypeMappingFunction<
                    ConstrainedEnumModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Float?: TypeMappingFunction<
                    ConstrainedFloatModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Integer?: TypeMappingFunction<
                    ConstrainedIntegerModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Object?: TypeMappingFunction<
                    ConstrainedObjectModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Reference?: TypeMappingFunction<
                    ConstrainedReferenceModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                String?: TypeMappingFunction<
                    ConstrainedStringModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Tuple?: TypeMappingFunction<
                    ConstrainedTupleModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Union?: TypeMappingFunction<
                    ConstrainedUnionModel,
                    GoOptions,
                    GoDependencyManager,
                >;
            };
            unionAnyModelName?: string;
            unionArrModelName?: string;
            unionDictModelName?: string;
        }
        • Optionalconstraints?: {
              constant?: ConstantConstraint<GoOptions>;
              enumKey?: EnumKeyConstraint<GoOptions>;
              enumValue?: EnumValueConstraint<GoOptions>;
              modelName?: ModelNameConstraint<GoOptions>;
              propertyKey?: PropertyKeyConstraint<GoOptions>;
          }
        • OptionaldefaultPreset?: {
              enum?: {
                  additionalContent?: (
                      args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                  ) => string | Promise<string>;
                  item?: (
                      args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel> & EnumArgs & {
                          index: number;
                      },
                  ) => string;
                  self?: (
                      args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                  ) => string | Promise<string>;
              };
              struct?: {
                  additionalContent?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                  ) => string | Promise<string>;
                  discriminator?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedUnionModel>,
                  ) => string;
                  field?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedObjectModel> & FieldArgs,
                  ) => string | Promise<string>;
                  self?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                  ) => string | Promise<string>;
              };
              union?: {
                  additionalContent?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                  ) => string | Promise<string>;
                  discriminator?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                  ) => string;
                  field?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel> & UnionFieldArgs,
                  ) => string | Promise<string>;
                  self?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                  ) => string | Promise<string>;
              };
          }
        • OptionaldependencyManager?:
              | (() => AbstractDependencyManager)
              | {
                  addDependency?: (dependency: string) => void;
                  dependencies?: (string | undefined)[];
              }

          This dependency manager type serves two functions.

          1. It can be used to provide a factory for generate functions
          2. It can be used to provide a single instance of a dependency manager, to add all dependencies together

          This depends on context and where it's used.

        • Optionalindentation?: { size?: number; type?: IndentationTypes }
        • Optionalpresets?: (
              | {
                  enum?: {
                      additionalContent?: (
                          args: PresetArgs<(...), (...), (...)>,
                      ) => (...) | (...);
                      item?: (args: (...) & (...) & (...)) => string;
                      self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                  };
                  struct?: {
                      additionalContent?: (
                          args: PresetArgs<(...), (...), (...)>,
                      ) => (...) | (...);
                      discriminator?: (args: PresetArgs<(...), (...), (...)>) => string;
                      field?: (args: (...) & (...)) => (...) | (...);
                      self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                  };
                  union?: {
                      additionalContent?: (
                          args: PresetArgs<(...), (...), (...)>,
                      ) => (...) | (...);
                      discriminator?: (args: PresetArgs<(...), (...), (...)>) => string;
                      field?: (args: (...) & (...)) => (...) | (...);
                      self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                  };
              }
              | {
                  options?: any;
                  preset?: {
                      enum?: {
                          additionalContent?: (...)
                          | (...);
                          item?: (...) | (...);
                          self?: (...) | (...);
                      };
                      struct?: {
                          additionalContent?: (...)
                          | (...);
                          discriminator?: (...) | (...);
                          field?: (...) | (...);
                          self?: (...) | (...);
                      };
                      union?: {
                          additionalContent?: (...)
                          | (...);
                          discriminator?: (...) | (...);
                          field?: (...) | (...);
                          self?: (...) | (...);
                      };
                  };
              }
              | undefined
          )[]
        • OptionalprocessorOptions?: {
              asyncapi?: {
                  __unstable?: { resolver?: { resolvers?: (...) | (...) } };
                  applyTraits?: boolean;
                  parseSchemas?: boolean;
                  source?: string;
                  validateOptions?: {
                      __unstable?: { resolver?: (...) | (...) };
                      allowedSeverity?: {
                          error?: (...) | (...) | (...);
                          hint?: (...) | (...) | (...);
                          info?: (...) | (...) | (...);
                          warning?: (...) | (...) | (...);
                      };
                      ignoreUnknownFormat?: boolean;
                  };
              };
              jsonSchema?: {
                  allowInheritance?: boolean;
                  disableCache?: boolean;
                  discriminator?: string;
                  ignoreAdditionalItems?: boolean;
                  ignoreAdditionalProperties?: boolean;
                  interpretSingleEnumAsConst?: boolean;
                  propertyNameForAdditionalProperties?: string;
              };
              openapi?: { includeComponentSchemas?: boolean };
              typescript?: {
                  aliasRef?: boolean;
                  compilerOptions?: {
                      allowJs?: boolean;
                      allowSyntheticDefaultImports?: boolean;
                      allowUmdGlobalAccess?: boolean;
                      allowUnreachableCode?: boolean;
                      allowUnusedLabels?: boolean;
                      alwaysStrict?: boolean;
                      assumeChangesOnlyAffectDirectDependencies?: boolean;
                      baseUrl?: string;
                      charset?: string;
                      checkJs?: boolean;
                      composite?: boolean;
                      declaration?: boolean;
                      declarationDir?: string;
                      declarationMap?: boolean;
                      disableReferencedProjectLoad?: boolean;
                      disableSizeLimit?: boolean;
                      disableSolutionSearching?: boolean;
                      disableSourceOfProjectReferenceRedirect?: boolean;
                      downlevelIteration?: boolean;
                      emitBOM?: boolean;
                      emitDeclarationOnly?: boolean;
                      emitDecoratorMetadata?: boolean;
                      esModuleInterop?: boolean;
                      exactOptionalPropertyTypes?: boolean;
                      experimentalDecorators?: boolean;
                      forceConsistentCasingInFileNames?: boolean;
                      importHelpers?: boolean;
                      importsNotUsedAsValues?: ImportsNotUsedAsValues;
                      incremental?: boolean;
                      inlineSourceMap?: boolean;
                      inlineSources?: boolean;
                      isolatedModules?: boolean;
                      jsx?: JsxEmit;
                      jsxFactory?: string;
                      jsxFragmentFactory?: string;
                      jsxImportSource?: string;
                      keyofStringsOnly?: boolean;
                      lib?: ((...) | (...))[];
                      locale?: string;
                      mapRoot?: string;
                      maxNodeModuleJsDepth?: number;
                      module?: ModuleKind;
                      moduleDetection?: ModuleDetectionKind;
                      moduleResolution?: ModuleResolutionKind;
                      moduleSuffixes?: ((...) | (...))[];
                      newLine?: NewLineKind;
                      noEmit?: boolean;
                      noEmitHelpers?: boolean;
                      noEmitOnError?: boolean;
                      noErrorTruncation?: boolean;
                      noFallthroughCasesInSwitch?: boolean;
                      noImplicitAny?: boolean;
                      noImplicitOverride?: boolean;
                      noImplicitReturns?: boolean;
                      noImplicitThis?: boolean;
                      noImplicitUseStrict?: boolean;
                      noLib?: boolean;
                      noPropertyAccessFromIndexSignature?: boolean;
                      noResolve?: boolean;
                      noStrictGenericChecks?: boolean;
                      noUncheckedIndexedAccess?: boolean;
                      noUnusedLocals?: boolean;
                      noUnusedParameters?: boolean;
                      out?: string;
                      outDir?: string;
                      outFile?: string;
                      paths?: { [key: string]: (...) | (...) };
                      preserveConstEnums?: boolean;
                      preserveSymlinks?: boolean;
                      preserveValueImports?: boolean;
                      project?: string;
                      reactNamespace?: string;
                      removeComments?: boolean;
                      resolveJsonModule?: boolean;
                      rootDir?: string;
                      rootDirs?: ((...) | (...))[];
                      skipDefaultLibCheck?: boolean;
                      skipLibCheck?: boolean;
                      sourceMap?: boolean;
                      sourceRoot?: string;
                      strict?: boolean;
                      strictBindCallApply?: boolean;
                      strictFunctionTypes?: boolean;
                      strictNullChecks?: boolean;
                      strictPropertyInitialization?: boolean;
                      stripInternal?: boolean;
                      suppressExcessPropertyErrors?: boolean;
                      suppressImplicitAnyIndexErrors?: boolean;
                      target?: ScriptTarget;
                      traceResolution?: boolean;
                      tsBuildInfoFile?: string;
                      typeRoots?: ((...) | (...))[];
                      types?: ((...) | (...))[];
                      useDefineForClassFields?: boolean;
                      useUnknownInCatchVariables?: boolean;
                      [key: string]:
                          | string
                          | number
                          | boolean
                          | ((...) | (...))[]
                          | ((...) | (...) | (...))[]
                          | { [key: string]: (...) | (...) }
                          | ((...) | (...))[]
                          | ((...) | (...))[]
                          | {
                              _declarationBrand?: any;
                              amdDependencies?: (...) | (...);
                              decorators?: undefined;
                              end?: (...) | (...);
                              endOfFileToken?: (...) | (...);
                              extendedSourceFiles?: (...) | (...);
                              fileName?: (...) | (...);
                              flags?: (...) | (...);
                              forEachChild?: (...) | (...);
                              getChildAt?: (...) | (...);
                              getChildCount?: (...) | (...);
                              getChildren?: (...) | (...);
                              getEnd?: (...) | (...);
                              getFirstToken?: (...) | (...);
                              getFullStart?: (...) | (...);
                              getFullText?: (...) | (...);
                              getFullWidth?: (...) | (...);
                              getLastToken?: (...) | (...);
                              getLeadingTriviaWidth?: (...) | (...);
                              getLineAndCharacterOfPosition?: (...) | (...);
                              getLineEndOfPosition?: (...) | (...);
                              getLineStarts?: (...) | (...);
                              getPositionOfLineAndCharacter?: (...) | (...);
                              getSourceFile?: (...) | (...);
                              getStart?: (...) | (...);
                              getText?: (...) | (...);
                              getWidth?: (...) | (...);
                              hasNoDefaultLib?: (...) | (...) | (...);
                              impliedNodeFormat?: (...) | (...) | (...);
                              isDeclarationFile?: (...) | (...) | (...);
                              kind?: (...) | (...);
                              languageVariant?: (...) | (...);
                              languageVersion?: (...) | (...);
                              libReferenceDirectives?: (...) | (...);
                              modifiers?: (...) | (...);
                              moduleName?: (...) | (...);
                              parent?: (...) | (...);
                              pos?: (...) | (...);
                              referencedFiles?: (...) | (...);
                              statements?: (...) | (...);
                              text?: (...) | (...);
                              typeReferenceDirectives?: (...) | (...);
                              update?: (...) | (...);
                          }
                          | null
                          | undefined;
                  };
                  defaultNumberType?: "number"
                  | "integer";
                  defaultProps?: boolean;
                  esModuleInterop?: boolean;
                  excludePrivate?: boolean;
                  id?: string;
                  ignoreErrors?: boolean;
                  include?: (string | undefined)[];
                  noExtraProps?: boolean;
                  out?: string;
                  propOrder?: boolean;
                  ref?: boolean;
                  rejectDateType?: boolean;
                  required?: boolean;
                  skipLibCheck?: boolean;
                  strictNullChecks?: boolean;
                  titles?: boolean;
                  topRef?: boolean;
                  tsNodeRegister?: boolean;
                  typeOfKeyword?: boolean;
                  uniqueNames?: boolean;
                  validationKeywords?: (string | undefined)[];
              };
          }
          • Optionalasyncapi?: {
                __unstable?: { resolver?: { resolvers?: (...) | (...) } };
                applyTraits?: boolean;
                parseSchemas?: boolean;
                source?: string;
                validateOptions?: {
                    __unstable?: { resolver?: (...) | (...) };
                    allowedSeverity?: {
                        error?: (...) | (...) | (...);
                        hint?: (...) | (...) | (...);
                        info?: (...) | (...) | (...);
                        warning?: (...) | (...) | (...);
                    };
                    ignoreUnknownFormat?: boolean;
                };
            }
          • OptionaljsonSchema?: {
                allowInheritance?: boolean;
                disableCache?: boolean;
                discriminator?: string;
                ignoreAdditionalItems?: boolean;
                ignoreAdditionalProperties?: boolean;
                interpretSingleEnumAsConst?: boolean;
                propertyNameForAdditionalProperties?: string;
            }
            • OptionalallowInheritance?: boolean
            • OptionaldisableCache?: boolean

              This options disables the seenSchemas cache in the Interpreter. Use this option to disable the seenSchemas cache when interpreting schemas. This will affect merging of schemas, and should only be used by the internal interpreters when allowInheritance is set to true. This allows the internal interpreters to keep clean copies of the schemas as CommonModel's.

            • Optionaldiscriminator?: string

              When interpreting a schema with discriminator set, this property will be set best by the individual interpreters to make sure the discriminator becomes an enum.

            • OptionalignoreAdditionalItems?: boolean

              For JSON Schema draft 7, additionalItems are by default true, but it might create an unintended types for arrays.

              Use this option to ignore default additionalItems for models, as long as there is other types sat for the array.

              ONLY use this option if you do not have control over the schema files you use to generate the models from. Instead you should adapt your schemas to be more strict by setting additionalItems: false.

            • OptionalignoreAdditionalProperties?: boolean

              For JSON Schema draft 7, additionalProperties are by default true, but it might create an unintended property for the models.

              Use this option to ignore default additionalProperties for models that has other properties with them.

              ONLY use this option if you do not have control over your schema files. Instead adapt your schemas to be more strict by setting additionalProperties: false.

            • OptionalinterpretSingleEnumAsConst?: boolean

              This option enables that a single enum value {enum: ['test']} is interpreted the same as if the value was {const: 'test'} Use this option to reduce the number of enums being created and use constant values instead.

            • OptionalpropertyNameForAdditionalProperties?: string

              This option changes which property name that should be used to represent additionalProperties in JSON Schema

          • Optionalopenapi?: { includeComponentSchemas?: boolean }
          • Optionaltypescript?: {
                aliasRef?: boolean;
                compilerOptions?: {
                    allowJs?: boolean;
                    allowSyntheticDefaultImports?: boolean;
                    allowUmdGlobalAccess?: boolean;
                    allowUnreachableCode?: boolean;
                    allowUnusedLabels?: boolean;
                    alwaysStrict?: boolean;
                    assumeChangesOnlyAffectDirectDependencies?: boolean;
                    baseUrl?: string;
                    charset?: string;
                    checkJs?: boolean;
                    composite?: boolean;
                    declaration?: boolean;
                    declarationDir?: string;
                    declarationMap?: boolean;
                    disableReferencedProjectLoad?: boolean;
                    disableSizeLimit?: boolean;
                    disableSolutionSearching?: boolean;
                    disableSourceOfProjectReferenceRedirect?: boolean;
                    downlevelIteration?: boolean;
                    emitBOM?: boolean;
                    emitDeclarationOnly?: boolean;
                    emitDecoratorMetadata?: boolean;
                    esModuleInterop?: boolean;
                    exactOptionalPropertyTypes?: boolean;
                    experimentalDecorators?: boolean;
                    forceConsistentCasingInFileNames?: boolean;
                    importHelpers?: boolean;
                    importsNotUsedAsValues?: ImportsNotUsedAsValues;
                    incremental?: boolean;
                    inlineSourceMap?: boolean;
                    inlineSources?: boolean;
                    isolatedModules?: boolean;
                    jsx?: JsxEmit;
                    jsxFactory?: string;
                    jsxFragmentFactory?: string;
                    jsxImportSource?: string;
                    keyofStringsOnly?: boolean;
                    lib?: ((...) | (...))[];
                    locale?: string;
                    mapRoot?: string;
                    maxNodeModuleJsDepth?: number;
                    module?: ModuleKind;
                    moduleDetection?: ModuleDetectionKind;
                    moduleResolution?: ModuleResolutionKind;
                    moduleSuffixes?: ((...) | (...))[];
                    newLine?: NewLineKind;
                    noEmit?: boolean;
                    noEmitHelpers?: boolean;
                    noEmitOnError?: boolean;
                    noErrorTruncation?: boolean;
                    noFallthroughCasesInSwitch?: boolean;
                    noImplicitAny?: boolean;
                    noImplicitOverride?: boolean;
                    noImplicitReturns?: boolean;
                    noImplicitThis?: boolean;
                    noImplicitUseStrict?: boolean;
                    noLib?: boolean;
                    noPropertyAccessFromIndexSignature?: boolean;
                    noResolve?: boolean;
                    noStrictGenericChecks?: boolean;
                    noUncheckedIndexedAccess?: boolean;
                    noUnusedLocals?: boolean;
                    noUnusedParameters?: boolean;
                    out?: string;
                    outDir?: string;
                    outFile?: string;
                    paths?: { [key: string]: (...) | (...) };
                    preserveConstEnums?: boolean;
                    preserveSymlinks?: boolean;
                    preserveValueImports?: boolean;
                    project?: string;
                    reactNamespace?: string;
                    removeComments?: boolean;
                    resolveJsonModule?: boolean;
                    rootDir?: string;
                    rootDirs?: ((...) | (...))[];
                    skipDefaultLibCheck?: boolean;
                    skipLibCheck?: boolean;
                    sourceMap?: boolean;
                    sourceRoot?: string;
                    strict?: boolean;
                    strictBindCallApply?: boolean;
                    strictFunctionTypes?: boolean;
                    strictNullChecks?: boolean;
                    strictPropertyInitialization?: boolean;
                    stripInternal?: boolean;
                    suppressExcessPropertyErrors?: boolean;
                    suppressImplicitAnyIndexErrors?: boolean;
                    target?: ScriptTarget;
                    traceResolution?: boolean;
                    tsBuildInfoFile?: string;
                    typeRoots?: ((...) | (...))[];
                    types?: ((...) | (...))[];
                    useDefineForClassFields?: boolean;
                    useUnknownInCatchVariables?: boolean;
                    [key: string]:
                        | string
                        | number
                        | boolean
                        | ((...) | (...))[]
                        | ((...) | (...) | (...))[]
                        | { [key: string]: (...) | (...) }
                        | ((...) | (...))[]
                        | ((...) | (...))[]
                        | {
                            _declarationBrand?: any;
                            amdDependencies?: (...) | (...);
                            decorators?: undefined;
                            end?: (...) | (...);
                            endOfFileToken?: (...) | (...);
                            extendedSourceFiles?: (...) | (...);
                            fileName?: (...) | (...);
                            flags?: (...) | (...);
                            forEachChild?: (...) | (...);
                            getChildAt?: (...) | (...);
                            getChildCount?: (...) | (...);
                            getChildren?: (...) | (...);
                            getEnd?: (...) | (...);
                            getFirstToken?: (...) | (...);
                            getFullStart?: (...) | (...);
                            getFullText?: (...) | (...);
                            getFullWidth?: (...) | (...);
                            getLastToken?: (...) | (...);
                            getLeadingTriviaWidth?: (...) | (...);
                            getLineAndCharacterOfPosition?: (...) | (...);
                            getLineEndOfPosition?: (...) | (...);
                            getLineStarts?: (...) | (...);
                            getPositionOfLineAndCharacter?: (...) | (...);
                            getSourceFile?: (...) | (...);
                            getStart?: (...) | (...);
                            getText?: (...) | (...);
                            getWidth?: (...) | (...);
                            hasNoDefaultLib?: (...) | (...) | (...);
                            impliedNodeFormat?: (...) | (...) | (...);
                            isDeclarationFile?: (...) | (...) | (...);
                            kind?: (...) | (...);
                            languageVariant?: (...) | (...);
                            languageVersion?: (...) | (...);
                            libReferenceDirectives?: (...) | (...);
                            modifiers?: (...) | (...);
                            moduleName?: (...) | (...);
                            parent?: (...) | (...);
                            pos?: (...) | (...);
                            referencedFiles?: (...) | (...);
                            statements?: (...) | (...);
                            text?: (...) | (...);
                            typeReferenceDirectives?: (...) | (...);
                            update?: (...) | (...);
                        }
                        | null
                        | undefined;
                };
                defaultNumberType?: "number"
                | "integer";
                defaultProps?: boolean;
                esModuleInterop?: boolean;
                excludePrivate?: boolean;
                id?: string;
                ignoreErrors?: boolean;
                include?: (string | undefined)[];
                noExtraProps?: boolean;
                out?: string;
                propOrder?: boolean;
                ref?: boolean;
                rejectDateType?: boolean;
                required?: boolean;
                skipLibCheck?: boolean;
                strictNullChecks?: boolean;
                titles?: boolean;
                topRef?: boolean;
                tsNodeRegister?: boolean;
                typeOfKeyword?: boolean;
                uniqueNames?: boolean;
                validationKeywords?: (string | undefined)[];
            }
            • OptionalaliasRef?: boolean
            • OptionalcompilerOptions?: {
                  allowJs?: boolean;
                  allowSyntheticDefaultImports?: boolean;
                  allowUmdGlobalAccess?: boolean;
                  allowUnreachableCode?: boolean;
                  allowUnusedLabels?: boolean;
                  alwaysStrict?: boolean;
                  assumeChangesOnlyAffectDirectDependencies?: boolean;
                  baseUrl?: string;
                  charset?: string;
                  checkJs?: boolean;
                  composite?: boolean;
                  declaration?: boolean;
                  declarationDir?: string;
                  declarationMap?: boolean;
                  disableReferencedProjectLoad?: boolean;
                  disableSizeLimit?: boolean;
                  disableSolutionSearching?: boolean;
                  disableSourceOfProjectReferenceRedirect?: boolean;
                  downlevelIteration?: boolean;
                  emitBOM?: boolean;
                  emitDeclarationOnly?: boolean;
                  emitDecoratorMetadata?: boolean;
                  esModuleInterop?: boolean;
                  exactOptionalPropertyTypes?: boolean;
                  experimentalDecorators?: boolean;
                  forceConsistentCasingInFileNames?: boolean;
                  importHelpers?: boolean;
                  importsNotUsedAsValues?: ImportsNotUsedAsValues;
                  incremental?: boolean;
                  inlineSourceMap?: boolean;
                  inlineSources?: boolean;
                  isolatedModules?: boolean;
                  jsx?: JsxEmit;
                  jsxFactory?: string;
                  jsxFragmentFactory?: string;
                  jsxImportSource?: string;
                  keyofStringsOnly?: boolean;
                  lib?: ((...) | (...))[];
                  locale?: string;
                  mapRoot?: string;
                  maxNodeModuleJsDepth?: number;
                  module?: ModuleKind;
                  moduleDetection?: ModuleDetectionKind;
                  moduleResolution?: ModuleResolutionKind;
                  moduleSuffixes?: ((...) | (...))[];
                  newLine?: NewLineKind;
                  noEmit?: boolean;
                  noEmitHelpers?: boolean;
                  noEmitOnError?: boolean;
                  noErrorTruncation?: boolean;
                  noFallthroughCasesInSwitch?: boolean;
                  noImplicitAny?: boolean;
                  noImplicitOverride?: boolean;
                  noImplicitReturns?: boolean;
                  noImplicitThis?: boolean;
                  noImplicitUseStrict?: boolean;
                  noLib?: boolean;
                  noPropertyAccessFromIndexSignature?: boolean;
                  noResolve?: boolean;
                  noStrictGenericChecks?: boolean;
                  noUncheckedIndexedAccess?: boolean;
                  noUnusedLocals?: boolean;
                  noUnusedParameters?: boolean;
                  out?: string;
                  outDir?: string;
                  outFile?: string;
                  paths?: { [key: string]: (...) | (...) };
                  preserveConstEnums?: boolean;
                  preserveSymlinks?: boolean;
                  preserveValueImports?: boolean;
                  project?: string;
                  reactNamespace?: string;
                  removeComments?: boolean;
                  resolveJsonModule?: boolean;
                  rootDir?: string;
                  rootDirs?: ((...) | (...))[];
                  skipDefaultLibCheck?: boolean;
                  skipLibCheck?: boolean;
                  sourceMap?: boolean;
                  sourceRoot?: string;
                  strict?: boolean;
                  strictBindCallApply?: boolean;
                  strictFunctionTypes?: boolean;
                  strictNullChecks?: boolean;
                  strictPropertyInitialization?: boolean;
                  stripInternal?: boolean;
                  suppressExcessPropertyErrors?: boolean;
                  suppressImplicitAnyIndexErrors?: boolean;
                  target?: ScriptTarget;
                  traceResolution?: boolean;
                  tsBuildInfoFile?: string;
                  typeRoots?: ((...) | (...))[];
                  types?: ((...) | (...))[];
                  useDefineForClassFields?: boolean;
                  useUnknownInCatchVariables?: boolean;
                  [key: string]:
                      | string
                      | number
                      | boolean
                      | ((...) | (...))[]
                      | ((...) | (...) | (...))[]
                      | { [key: string]: (...) | (...) }
                      | ((...) | (...))[]
                      | ((...) | (...))[]
                      | {
                          _declarationBrand?: any;
                          amdDependencies?: (...) | (...);
                          decorators?: undefined;
                          end?: (...) | (...);
                          endOfFileToken?: (...) | (...);
                          extendedSourceFiles?: (...) | (...);
                          fileName?: (...) | (...);
                          flags?: (...) | (...);
                          forEachChild?: (...) | (...);
                          getChildAt?: (...) | (...);
                          getChildCount?: (...) | (...);
                          getChildren?: (...) | (...);
                          getEnd?: (...) | (...);
                          getFirstToken?: (...) | (...);
                          getFullStart?: (...) | (...);
                          getFullText?: (...) | (...);
                          getFullWidth?: (...) | (...);
                          getLastToken?: (...) | (...);
                          getLeadingTriviaWidth?: (...) | (...);
                          getLineAndCharacterOfPosition?: (...) | (...);
                          getLineEndOfPosition?: (...) | (...);
                          getLineStarts?: (...) | (...);
                          getPositionOfLineAndCharacter?: (...) | (...);
                          getSourceFile?: (...) | (...);
                          getStart?: (...) | (...);
                          getText?: (...) | (...);
                          getWidth?: (...) | (...);
                          hasNoDefaultLib?: (...) | (...) | (...);
                          impliedNodeFormat?: (...) | (...) | (...);
                          isDeclarationFile?: (...) | (...) | (...);
                          kind?: (...) | (...);
                          languageVariant?: (...) | (...);
                          languageVersion?: (...) | (...);
                          libReferenceDirectives?: (...) | (...);
                          modifiers?: (...) | (...);
                          moduleName?: (...) | (...);
                          parent?: (...) | (...);
                          pos?: (...) | (...);
                          referencedFiles?: (...) | (...);
                          statements?: (...) | (...);
                          text?: (...) | (...);
                          typeReferenceDirectives?: (...) | (...);
                          update?: (...) | (...);
                      }
                      | null
                      | undefined;
              }
              • OptionalallowJs?: boolean
              • OptionalallowSyntheticDefaultImports?: boolean
              • OptionalallowUmdGlobalAccess?: boolean
              • OptionalallowUnreachableCode?: boolean
              • OptionalallowUnusedLabels?: boolean
              • OptionalalwaysStrict?: boolean
              • OptionalassumeChangesOnlyAffectDirectDependencies?: boolean
              • OptionalbaseUrl?: string
              • Optionalcharset?: string
              • OptionalcheckJs?: boolean
              • Optionalcomposite?: boolean
              • Optionaldeclaration?: boolean
              • OptionaldeclarationDir?: string
              • OptionaldeclarationMap?: boolean
              • OptionaldisableReferencedProjectLoad?: boolean
              • OptionaldisableSizeLimit?: boolean
              • OptionaldisableSolutionSearching?: boolean
              • OptionaldisableSourceOfProjectReferenceRedirect?: boolean
              • OptionaldownlevelIteration?: boolean
              • OptionalemitBOM?: boolean
              • OptionalemitDeclarationOnly?: boolean
              • OptionalemitDecoratorMetadata?: boolean
              • OptionalesModuleInterop?: boolean
              • OptionalexactOptionalPropertyTypes?: boolean
              • OptionalexperimentalDecorators?: boolean
              • OptionalforceConsistentCasingInFileNames?: boolean
              • OptionalimportHelpers?: boolean
              • OptionalimportsNotUsedAsValues?: ImportsNotUsedAsValues
              • Optionalincremental?: boolean
              • OptionalinlineSourceMap?: boolean
              • OptionalinlineSources?: boolean
              • OptionalisolatedModules?: boolean
              • Optionaljsx?: JsxEmit
              • OptionaljsxFactory?: string
              • OptionaljsxFragmentFactory?: string
              • OptionaljsxImportSource?: string
              • OptionalkeyofStringsOnly?: boolean
              • Optionallib?: ((...) | (...))[]
              • Optionallocale?: string
              • OptionalmapRoot?: string
              • OptionalmaxNodeModuleJsDepth?: number
              • Optionalmodule?: ModuleKind
              • OptionalmoduleDetection?: ModuleDetectionKind
              • OptionalmoduleResolution?: ModuleResolutionKind
              • OptionalmoduleSuffixes?: ((...) | (...))[]
              • OptionalnewLine?: NewLineKind
              • OptionalnoEmit?: boolean
              • OptionalnoEmitHelpers?: boolean
              • OptionalnoEmitOnError?: boolean
              • OptionalnoErrorTruncation?: boolean
              • OptionalnoFallthroughCasesInSwitch?: boolean
              • OptionalnoImplicitAny?: boolean
              • OptionalnoImplicitOverride?: boolean
              • OptionalnoImplicitReturns?: boolean
              • OptionalnoImplicitThis?: boolean
              • OptionalnoImplicitUseStrict?: boolean
              • OptionalnoLib?: boolean
              • OptionalnoPropertyAccessFromIndexSignature?: boolean
              • OptionalnoResolve?: boolean
              • OptionalnoStrictGenericChecks?: boolean
              • OptionalnoUncheckedIndexedAccess?: boolean
              • OptionalnoUnusedLocals?: boolean
              • OptionalnoUnusedParameters?: boolean
              • Optionalout?: string
              • OptionaloutDir?: string
              • OptionaloutFile?: string
              • Optionalpaths?: { [key: string]: (...) | (...) }
              • OptionalpreserveConstEnums?: boolean
              • OptionalpreserveSymlinks?: boolean
              • OptionalpreserveValueImports?: boolean
              • Optionalproject?: string
              • OptionalreactNamespace?: string
              • OptionalremoveComments?: boolean
              • OptionalresolveJsonModule?: boolean
              • OptionalrootDir?: string
              • OptionalrootDirs?: ((...) | (...))[]
              • OptionalskipDefaultLibCheck?: boolean
              • OptionalskipLibCheck?: boolean
              • OptionalsourceMap?: boolean
              • OptionalsourceRoot?: string
              • Optionalstrict?: boolean
              • OptionalstrictBindCallApply?: boolean
              • OptionalstrictFunctionTypes?: boolean
              • OptionalstrictNullChecks?: boolean
              • OptionalstrictPropertyInitialization?: boolean
              • OptionalstripInternal?: boolean
              • OptionalsuppressExcessPropertyErrors?: boolean
              • OptionalsuppressImplicitAnyIndexErrors?: boolean
              • Optionaltarget?: ScriptTarget
              • OptionaltraceResolution?: boolean
              • OptionaltsBuildInfoFile?: string
              • OptionaltypeRoots?: ((...) | (...))[]

                Paths used to compute primary types search locations

              • Optionaltypes?: ((...) | (...))[]
              • OptionaluseDefineForClassFields?: boolean
              • OptionaluseUnknownInCatchVariables?: boolean
            • OptionaldefaultNumberType?: "number" | "integer"
            • OptionaldefaultProps?: boolean
            • OptionalesModuleInterop?: boolean
            • OptionalexcludePrivate?: boolean
            • Optionalid?: string
            • OptionalignoreErrors?: boolean
            • Optionalinclude?: (string | undefined)[]
            • OptionalnoExtraProps?: boolean
            • Optionalout?: string
            • OptionalpropOrder?: boolean
            • Optionalref?: boolean
            • OptionalrejectDateType?: boolean
            • Optionalrequired?: boolean
            • OptionalskipLibCheck?: boolean
            • OptionalstrictNullChecks?: boolean
            • Optionaltitles?: boolean
            • OptionaltopRef?: boolean
            • OptionaltsNodeRegister?: boolean
            • OptionaltypeOfKeyword?: boolean
            • OptionaluniqueNames?: boolean
            • OptionalvalidationKeywords?: (string | undefined)[]
        • OptionaltypeMapping?: {
              Any?: TypeMappingFunction<
                  ConstrainedAnyModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Array?: TypeMappingFunction<
                  ConstrainedArrayModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Boolean?: TypeMappingFunction<
                  ConstrainedBooleanModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Dictionary?: TypeMappingFunction<
                  ConstrainedDictionaryModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Enum?: TypeMappingFunction<
                  ConstrainedEnumModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Float?: TypeMappingFunction<
                  ConstrainedFloatModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Integer?: TypeMappingFunction<
                  ConstrainedIntegerModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Object?: TypeMappingFunction<
                  ConstrainedObjectModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Reference?: TypeMappingFunction<
                  ConstrainedReferenceModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              String?: TypeMappingFunction<
                  ConstrainedStringModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Tuple?: TypeMappingFunction<
                  ConstrainedTupleModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Union?: TypeMappingFunction<
                  ConstrainedUnionModel,
                  GoOptions,
                  GoDependencyManager,
              >;
          }
        • OptionalunionAnyModelName?: string
        • OptionalunionArrModelName?: string
        • OptionalunionDictModelName?: string

      Returns Promise<RenderOutput>

    • Parameters

      • model: ConstrainedUnionModel
      • inputModel: InputMetaModel
      • Optionaloptions: {
            constraints?: {
                constant?: ConstantConstraint<GoOptions>;
                enumKey?: EnumKeyConstraint<GoOptions>;
                enumValue?: EnumValueConstraint<GoOptions>;
                modelName?: ModelNameConstraint<GoOptions>;
                propertyKey?: PropertyKeyConstraint<GoOptions>;
            };
            defaultPreset?: {
                enum?: {
                    additionalContent?: (
                        args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                    ) => string | Promise<string>;
                    item?: (
                        args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel> & EnumArgs & {
                            index: number;
                        },
                    ) => string;
                    self?: (
                        args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                    ) => string | Promise<string>;
                };
                struct?: {
                    additionalContent?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                    ) => string | Promise<string>;
                    discriminator?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedUnionModel>,
                    ) => string;
                    field?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedObjectModel> & FieldArgs,
                    ) => string | Promise<string>;
                    self?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                    ) => string | Promise<string>;
                };
                union?: {
                    additionalContent?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                    ) => string | Promise<string>;
                    discriminator?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                    ) => string;
                    field?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel> & UnionFieldArgs,
                    ) => string | Promise<string>;
                    self?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                    ) => string | Promise<string>;
                };
            };
            dependencyManager?: | (() => AbstractDependencyManager)
            | {
                addDependency?: (dependency: string) => void;
                dependencies?: (string | undefined)[];
            };
            indentation?: { size?: number; type?: IndentationTypes };
            presets?: (
                | {
                    enum?: {
                        additionalContent?: (
                            args: PresetArgs<(...), (...), (...)>,
                        ) => (...) | (...);
                        item?: (args: (...) & (...) & (...)) => string;
                        self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                    };
                    struct?: {
                        additionalContent?: (
                            args: PresetArgs<(...), (...), (...)>,
                        ) => (...) | (...);
                        discriminator?: (args: PresetArgs<(...), (...), (...)>) => string;
                        field?: (args: (...) & (...)) => (...) | (...);
                        self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                    };
                    union?: {
                        additionalContent?: (
                            args: PresetArgs<(...), (...), (...)>,
                        ) => (...) | (...);
                        discriminator?: (args: PresetArgs<(...), (...), (...)>) => string;
                        field?: (args: (...) & (...)) => (...) | (...);
                        self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                    };
                }
                | {
                    options?: any;
                    preset?: {
                        enum?: {
                            additionalContent?: (...)
                            | (...);
                            item?: (...) | (...);
                            self?: (...) | (...);
                        };
                        struct?: {
                            additionalContent?: (...)
                            | (...);
                            discriminator?: (...) | (...);
                            field?: (...) | (...);
                            self?: (...) | (...);
                        };
                        union?: {
                            additionalContent?: (...)
                            | (...);
                            discriminator?: (...) | (...);
                            field?: (...) | (...);
                            self?: (...) | (...);
                        };
                    };
                }
                | undefined
            )[];
            processorOptions?: {
                asyncapi?: {
                    __unstable?: { resolver?: { resolvers?: (...)
                    | (...) } };
                    applyTraits?: boolean;
                    parseSchemas?: boolean;
                    source?: string;
                    validateOptions?: {
                        __unstable?: { resolver?: (...) | (...) };
                        allowedSeverity?: {
                            error?: (...) | (...) | (...);
                            hint?: (...) | (...) | (...);
                            info?: (...) | (...) | (...);
                            warning?: (...) | (...) | (...);
                        };
                        ignoreUnknownFormat?: boolean;
                    };
                };
                jsonSchema?: {
                    allowInheritance?: boolean;
                    disableCache?: boolean;
                    discriminator?: string;
                    ignoreAdditionalItems?: boolean;
                    ignoreAdditionalProperties?: boolean;
                    interpretSingleEnumAsConst?: boolean;
                    propertyNameForAdditionalProperties?: string;
                };
                openapi?: { includeComponentSchemas?: boolean };
                typescript?: {
                    aliasRef?: boolean;
                    compilerOptions?: {
                        allowJs?: boolean;
                        allowSyntheticDefaultImports?: boolean;
                        allowUmdGlobalAccess?: boolean;
                        allowUnreachableCode?: boolean;
                        allowUnusedLabels?: boolean;
                        alwaysStrict?: boolean;
                        assumeChangesOnlyAffectDirectDependencies?: boolean;
                        baseUrl?: string;
                        charset?: string;
                        checkJs?: boolean;
                        composite?: boolean;
                        declaration?: boolean;
                        declarationDir?: string;
                        declarationMap?: boolean;
                        disableReferencedProjectLoad?: boolean;
                        disableSizeLimit?: boolean;
                        disableSolutionSearching?: boolean;
                        disableSourceOfProjectReferenceRedirect?: boolean;
                        downlevelIteration?: boolean;
                        emitBOM?: boolean;
                        emitDeclarationOnly?: boolean;
                        emitDecoratorMetadata?: boolean;
                        esModuleInterop?: boolean;
                        exactOptionalPropertyTypes?: boolean;
                        experimentalDecorators?: boolean;
                        forceConsistentCasingInFileNames?: boolean;
                        importHelpers?: boolean;
                        importsNotUsedAsValues?: ImportsNotUsedAsValues;
                        incremental?: boolean;
                        inlineSourceMap?: boolean;
                        inlineSources?: boolean;
                        isolatedModules?: boolean;
                        jsx?: JsxEmit;
                        jsxFactory?: string;
                        jsxFragmentFactory?: string;
                        jsxImportSource?: string;
                        keyofStringsOnly?: boolean;
                        lib?: ((...) | (...))[];
                        locale?: string;
                        mapRoot?: string;
                        maxNodeModuleJsDepth?: number;
                        module?: ModuleKind;
                        moduleDetection?: ModuleDetectionKind;
                        moduleResolution?: ModuleResolutionKind;
                        moduleSuffixes?: ((...) | (...))[];
                        newLine?: NewLineKind;
                        noEmit?: boolean;
                        noEmitHelpers?: boolean;
                        noEmitOnError?: boolean;
                        noErrorTruncation?: boolean;
                        noFallthroughCasesInSwitch?: boolean;
                        noImplicitAny?: boolean;
                        noImplicitOverride?: boolean;
                        noImplicitReturns?: boolean;
                        noImplicitThis?: boolean;
                        noImplicitUseStrict?: boolean;
                        noLib?: boolean;
                        noPropertyAccessFromIndexSignature?: boolean;
                        noResolve?: boolean;
                        noStrictGenericChecks?: boolean;
                        noUncheckedIndexedAccess?: boolean;
                        noUnusedLocals?: boolean;
                        noUnusedParameters?: boolean;
                        out?: string;
                        outDir?: string;
                        outFile?: string;
                        paths?: { [key: string]: (...) | (...) };
                        preserveConstEnums?: boolean;
                        preserveSymlinks?: boolean;
                        preserveValueImports?: boolean;
                        project?: string;
                        reactNamespace?: string;
                        removeComments?: boolean;
                        resolveJsonModule?: boolean;
                        rootDir?: string;
                        rootDirs?: ((...) | (...))[];
                        skipDefaultLibCheck?: boolean;
                        skipLibCheck?: boolean;
                        sourceMap?: boolean;
                        sourceRoot?: string;
                        strict?: boolean;
                        strictBindCallApply?: boolean;
                        strictFunctionTypes?: boolean;
                        strictNullChecks?: boolean;
                        strictPropertyInitialization?: boolean;
                        stripInternal?: boolean;
                        suppressExcessPropertyErrors?: boolean;
                        suppressImplicitAnyIndexErrors?: boolean;
                        target?: ScriptTarget;
                        traceResolution?: boolean;
                        tsBuildInfoFile?: string;
                        typeRoots?: ((...) | (...))[];
                        types?: ((...) | (...))[];
                        useDefineForClassFields?: boolean;
                        useUnknownInCatchVariables?: boolean;
                        [key: string]:
                            | string
                            | number
                            | boolean
                            | ((...) | (...))[]
                            | ((...) | (...) | (...))[]
                            | { [key: string]: (...) | (...) }
                            | ((...) | (...))[]
                            | ((...) | (...))[]
                            | {
                                _declarationBrand?: any;
                                amdDependencies?: (...) | (...);
                                decorators?: undefined;
                                end?: (...) | (...);
                                endOfFileToken?: (...) | (...);
                                extendedSourceFiles?: (...) | (...);
                                fileName?: (...) | (...);
                                flags?: (...) | (...);
                                forEachChild?: (...) | (...);
                                getChildAt?: (...) | (...);
                                getChildCount?: (...) | (...);
                                getChildren?: (...) | (...);
                                getEnd?: (...) | (...);
                                getFirstToken?: (...) | (...);
                                getFullStart?: (...) | (...);
                                getFullText?: (...) | (...);
                                getFullWidth?: (...) | (...);
                                getLastToken?: (...) | (...);
                                getLeadingTriviaWidth?: (...) | (...);
                                getLineAndCharacterOfPosition?: (...) | (...);
                                getLineEndOfPosition?: (...) | (...);
                                getLineStarts?: (...) | (...);
                                getPositionOfLineAndCharacter?: (...) | (...);
                                getSourceFile?: (...) | (...);
                                getStart?: (...) | (...);
                                getText?: (...) | (...);
                                getWidth?: (...) | (...);
                                hasNoDefaultLib?: (...) | (...) | (...);
                                impliedNodeFormat?: (...) | (...) | (...);
                                isDeclarationFile?: (...) | (...) | (...);
                                kind?: (...) | (...);
                                languageVariant?: (...) | (...);
                                languageVersion?: (...) | (...);
                                libReferenceDirectives?: (...) | (...);
                                modifiers?: (...) | (...);
                                moduleName?: (...) | (...);
                                parent?: (...) | (...);
                                pos?: (...) | (...);
                                referencedFiles?: (...) | (...);
                                statements?: (...) | (...);
                                text?: (...) | (...);
                                typeReferenceDirectives?: (...) | (...);
                                update?: (...) | (...);
                            }
                            | null
                            | undefined;
                    };
                    defaultNumberType?: "number"
                    | "integer";
                    defaultProps?: boolean;
                    esModuleInterop?: boolean;
                    excludePrivate?: boolean;
                    id?: string;
                    ignoreErrors?: boolean;
                    include?: (string | undefined)[];
                    noExtraProps?: boolean;
                    out?: string;
                    propOrder?: boolean;
                    ref?: boolean;
                    rejectDateType?: boolean;
                    required?: boolean;
                    skipLibCheck?: boolean;
                    strictNullChecks?: boolean;
                    titles?: boolean;
                    topRef?: boolean;
                    tsNodeRegister?: boolean;
                    typeOfKeyword?: boolean;
                    uniqueNames?: boolean;
                    validationKeywords?: (string | undefined)[];
                };
            };
            typeMapping?: {
                Any?: TypeMappingFunction<
                    ConstrainedAnyModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Array?: TypeMappingFunction<
                    ConstrainedArrayModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Boolean?: TypeMappingFunction<
                    ConstrainedBooleanModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Dictionary?: TypeMappingFunction<
                    ConstrainedDictionaryModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Enum?: TypeMappingFunction<
                    ConstrainedEnumModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Float?: TypeMappingFunction<
                    ConstrainedFloatModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Integer?: TypeMappingFunction<
                    ConstrainedIntegerModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Object?: TypeMappingFunction<
                    ConstrainedObjectModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Reference?: TypeMappingFunction<
                    ConstrainedReferenceModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                String?: TypeMappingFunction<
                    ConstrainedStringModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Tuple?: TypeMappingFunction<
                    ConstrainedTupleModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Union?: TypeMappingFunction<
                    ConstrainedUnionModel,
                    GoOptions,
                    GoDependencyManager,
                >;
            };
            unionAnyModelName?: string;
            unionArrModelName?: string;
            unionDictModelName?: string;
        }
        • Optionalconstraints?: {
              constant?: ConstantConstraint<GoOptions>;
              enumKey?: EnumKeyConstraint<GoOptions>;
              enumValue?: EnumValueConstraint<GoOptions>;
              modelName?: ModelNameConstraint<GoOptions>;
              propertyKey?: PropertyKeyConstraint<GoOptions>;
          }
        • OptionaldefaultPreset?: {
              enum?: {
                  additionalContent?: (
                      args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                  ) => string | Promise<string>;
                  item?: (
                      args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel> & EnumArgs & {
                          index: number;
                      },
                  ) => string;
                  self?: (
                      args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                  ) => string | Promise<string>;
              };
              struct?: {
                  additionalContent?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                  ) => string | Promise<string>;
                  discriminator?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedUnionModel>,
                  ) => string;
                  field?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedObjectModel> & FieldArgs,
                  ) => string | Promise<string>;
                  self?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                  ) => string | Promise<string>;
              };
              union?: {
                  additionalContent?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                  ) => string | Promise<string>;
                  discriminator?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                  ) => string;
                  field?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel> & UnionFieldArgs,
                  ) => string | Promise<string>;
                  self?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                  ) => string | Promise<string>;
              };
          }
        • OptionaldependencyManager?:
              | (() => AbstractDependencyManager)
              | {
                  addDependency?: (dependency: string) => void;
                  dependencies?: (string | undefined)[];
              }

          This dependency manager type serves two functions.

          1. It can be used to provide a factory for generate functions
          2. It can be used to provide a single instance of a dependency manager, to add all dependencies together

          This depends on context and where it's used.

        • Optionalindentation?: { size?: number; type?: IndentationTypes }
        • Optionalpresets?: (
              | {
                  enum?: {
                      additionalContent?: (
                          args: PresetArgs<(...), (...), (...)>,
                      ) => (...) | (...);
                      item?: (args: (...) & (...) & (...)) => string;
                      self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                  };
                  struct?: {
                      additionalContent?: (
                          args: PresetArgs<(...), (...), (...)>,
                      ) => (...) | (...);
                      discriminator?: (args: PresetArgs<(...), (...), (...)>) => string;
                      field?: (args: (...) & (...)) => (...) | (...);
                      self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                  };
                  union?: {
                      additionalContent?: (
                          args: PresetArgs<(...), (...), (...)>,
                      ) => (...) | (...);
                      discriminator?: (args: PresetArgs<(...), (...), (...)>) => string;
                      field?: (args: (...) & (...)) => (...) | (...);
                      self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                  };
              }
              | {
                  options?: any;
                  preset?: {
                      enum?: {
                          additionalContent?: (...)
                          | (...);
                          item?: (...) | (...);
                          self?: (...) | (...);
                      };
                      struct?: {
                          additionalContent?: (...)
                          | (...);
                          discriminator?: (...) | (...);
                          field?: (...) | (...);
                          self?: (...) | (...);
                      };
                      union?: {
                          additionalContent?: (...)
                          | (...);
                          discriminator?: (...) | (...);
                          field?: (...) | (...);
                          self?: (...) | (...);
                      };
                  };
              }
              | undefined
          )[]
        • OptionalprocessorOptions?: {
              asyncapi?: {
                  __unstable?: { resolver?: { resolvers?: (...) | (...) } };
                  applyTraits?: boolean;
                  parseSchemas?: boolean;
                  source?: string;
                  validateOptions?: {
                      __unstable?: { resolver?: (...) | (...) };
                      allowedSeverity?: {
                          error?: (...) | (...) | (...);
                          hint?: (...) | (...) | (...);
                          info?: (...) | (...) | (...);
                          warning?: (...) | (...) | (...);
                      };
                      ignoreUnknownFormat?: boolean;
                  };
              };
              jsonSchema?: {
                  allowInheritance?: boolean;
                  disableCache?: boolean;
                  discriminator?: string;
                  ignoreAdditionalItems?: boolean;
                  ignoreAdditionalProperties?: boolean;
                  interpretSingleEnumAsConst?: boolean;
                  propertyNameForAdditionalProperties?: string;
              };
              openapi?: { includeComponentSchemas?: boolean };
              typescript?: {
                  aliasRef?: boolean;
                  compilerOptions?: {
                      allowJs?: boolean;
                      allowSyntheticDefaultImports?: boolean;
                      allowUmdGlobalAccess?: boolean;
                      allowUnreachableCode?: boolean;
                      allowUnusedLabels?: boolean;
                      alwaysStrict?: boolean;
                      assumeChangesOnlyAffectDirectDependencies?: boolean;
                      baseUrl?: string;
                      charset?: string;
                      checkJs?: boolean;
                      composite?: boolean;
                      declaration?: boolean;
                      declarationDir?: string;
                      declarationMap?: boolean;
                      disableReferencedProjectLoad?: boolean;
                      disableSizeLimit?: boolean;
                      disableSolutionSearching?: boolean;
                      disableSourceOfProjectReferenceRedirect?: boolean;
                      downlevelIteration?: boolean;
                      emitBOM?: boolean;
                      emitDeclarationOnly?: boolean;
                      emitDecoratorMetadata?: boolean;
                      esModuleInterop?: boolean;
                      exactOptionalPropertyTypes?: boolean;
                      experimentalDecorators?: boolean;
                      forceConsistentCasingInFileNames?: boolean;
                      importHelpers?: boolean;
                      importsNotUsedAsValues?: ImportsNotUsedAsValues;
                      incremental?: boolean;
                      inlineSourceMap?: boolean;
                      inlineSources?: boolean;
                      isolatedModules?: boolean;
                      jsx?: JsxEmit;
                      jsxFactory?: string;
                      jsxFragmentFactory?: string;
                      jsxImportSource?: string;
                      keyofStringsOnly?: boolean;
                      lib?: ((...) | (...))[];
                      locale?: string;
                      mapRoot?: string;
                      maxNodeModuleJsDepth?: number;
                      module?: ModuleKind;
                      moduleDetection?: ModuleDetectionKind;
                      moduleResolution?: ModuleResolutionKind;
                      moduleSuffixes?: ((...) | (...))[];
                      newLine?: NewLineKind;
                      noEmit?: boolean;
                      noEmitHelpers?: boolean;
                      noEmitOnError?: boolean;
                      noErrorTruncation?: boolean;
                      noFallthroughCasesInSwitch?: boolean;
                      noImplicitAny?: boolean;
                      noImplicitOverride?: boolean;
                      noImplicitReturns?: boolean;
                      noImplicitThis?: boolean;
                      noImplicitUseStrict?: boolean;
                      noLib?: boolean;
                      noPropertyAccessFromIndexSignature?: boolean;
                      noResolve?: boolean;
                      noStrictGenericChecks?: boolean;
                      noUncheckedIndexedAccess?: boolean;
                      noUnusedLocals?: boolean;
                      noUnusedParameters?: boolean;
                      out?: string;
                      outDir?: string;
                      outFile?: string;
                      paths?: { [key: string]: (...) | (...) };
                      preserveConstEnums?: boolean;
                      preserveSymlinks?: boolean;
                      preserveValueImports?: boolean;
                      project?: string;
                      reactNamespace?: string;
                      removeComments?: boolean;
                      resolveJsonModule?: boolean;
                      rootDir?: string;
                      rootDirs?: ((...) | (...))[];
                      skipDefaultLibCheck?: boolean;
                      skipLibCheck?: boolean;
                      sourceMap?: boolean;
                      sourceRoot?: string;
                      strict?: boolean;
                      strictBindCallApply?: boolean;
                      strictFunctionTypes?: boolean;
                      strictNullChecks?: boolean;
                      strictPropertyInitialization?: boolean;
                      stripInternal?: boolean;
                      suppressExcessPropertyErrors?: boolean;
                      suppressImplicitAnyIndexErrors?: boolean;
                      target?: ScriptTarget;
                      traceResolution?: boolean;
                      tsBuildInfoFile?: string;
                      typeRoots?: ((...) | (...))[];
                      types?: ((...) | (...))[];
                      useDefineForClassFields?: boolean;
                      useUnknownInCatchVariables?: boolean;
                      [key: string]:
                          | string
                          | number
                          | boolean
                          | ((...) | (...))[]
                          | ((...) | (...) | (...))[]
                          | { [key: string]: (...) | (...) }
                          | ((...) | (...))[]
                          | ((...) | (...))[]
                          | {
                              _declarationBrand?: any;
                              amdDependencies?: (...) | (...);
                              decorators?: undefined;
                              end?: (...) | (...);
                              endOfFileToken?: (...) | (...);
                              extendedSourceFiles?: (...) | (...);
                              fileName?: (...) | (...);
                              flags?: (...) | (...);
                              forEachChild?: (...) | (...);
                              getChildAt?: (...) | (...);
                              getChildCount?: (...) | (...);
                              getChildren?: (...) | (...);
                              getEnd?: (...) | (...);
                              getFirstToken?: (...) | (...);
                              getFullStart?: (...) | (...);
                              getFullText?: (...) | (...);
                              getFullWidth?: (...) | (...);
                              getLastToken?: (...) | (...);
                              getLeadingTriviaWidth?: (...) | (...);
                              getLineAndCharacterOfPosition?: (...) | (...);
                              getLineEndOfPosition?: (...) | (...);
                              getLineStarts?: (...) | (...);
                              getPositionOfLineAndCharacter?: (...) | (...);
                              getSourceFile?: (...) | (...);
                              getStart?: (...) | (...);
                              getText?: (...) | (...);
                              getWidth?: (...) | (...);
                              hasNoDefaultLib?: (...) | (...) | (...);
                              impliedNodeFormat?: (...) | (...) | (...);
                              isDeclarationFile?: (...) | (...) | (...);
                              kind?: (...) | (...);
                              languageVariant?: (...) | (...);
                              languageVersion?: (...) | (...);
                              libReferenceDirectives?: (...) | (...);
                              modifiers?: (...) | (...);
                              moduleName?: (...) | (...);
                              parent?: (...) | (...);
                              pos?: (...) | (...);
                              referencedFiles?: (...) | (...);
                              statements?: (...) | (...);
                              text?: (...) | (...);
                              typeReferenceDirectives?: (...) | (...);
                              update?: (...) | (...);
                          }
                          | null
                          | undefined;
                  };
                  defaultNumberType?: "number"
                  | "integer";
                  defaultProps?: boolean;
                  esModuleInterop?: boolean;
                  excludePrivate?: boolean;
                  id?: string;
                  ignoreErrors?: boolean;
                  include?: (string | undefined)[];
                  noExtraProps?: boolean;
                  out?: string;
                  propOrder?: boolean;
                  ref?: boolean;
                  rejectDateType?: boolean;
                  required?: boolean;
                  skipLibCheck?: boolean;
                  strictNullChecks?: boolean;
                  titles?: boolean;
                  topRef?: boolean;
                  tsNodeRegister?: boolean;
                  typeOfKeyword?: boolean;
                  uniqueNames?: boolean;
                  validationKeywords?: (string | undefined)[];
              };
          }
          • Optionalasyncapi?: {
                __unstable?: { resolver?: { resolvers?: (...) | (...) } };
                applyTraits?: boolean;
                parseSchemas?: boolean;
                source?: string;
                validateOptions?: {
                    __unstable?: { resolver?: (...) | (...) };
                    allowedSeverity?: {
                        error?: (...) | (...) | (...);
                        hint?: (...) | (...) | (...);
                        info?: (...) | (...) | (...);
                        warning?: (...) | (...) | (...);
                    };
                    ignoreUnknownFormat?: boolean;
                };
            }
          • OptionaljsonSchema?: {
                allowInheritance?: boolean;
                disableCache?: boolean;
                discriminator?: string;
                ignoreAdditionalItems?: boolean;
                ignoreAdditionalProperties?: boolean;
                interpretSingleEnumAsConst?: boolean;
                propertyNameForAdditionalProperties?: string;
            }
            • OptionalallowInheritance?: boolean
            • OptionaldisableCache?: boolean

              This options disables the seenSchemas cache in the Interpreter. Use this option to disable the seenSchemas cache when interpreting schemas. This will affect merging of schemas, and should only be used by the internal interpreters when allowInheritance is set to true. This allows the internal interpreters to keep clean copies of the schemas as CommonModel's.

            • Optionaldiscriminator?: string

              When interpreting a schema with discriminator set, this property will be set best by the individual interpreters to make sure the discriminator becomes an enum.

            • OptionalignoreAdditionalItems?: boolean

              For JSON Schema draft 7, additionalItems are by default true, but it might create an unintended types for arrays.

              Use this option to ignore default additionalItems for models, as long as there is other types sat for the array.

              ONLY use this option if you do not have control over the schema files you use to generate the models from. Instead you should adapt your schemas to be more strict by setting additionalItems: false.

            • OptionalignoreAdditionalProperties?: boolean

              For JSON Schema draft 7, additionalProperties are by default true, but it might create an unintended property for the models.

              Use this option to ignore default additionalProperties for models that has other properties with them.

              ONLY use this option if you do not have control over your schema files. Instead adapt your schemas to be more strict by setting additionalProperties: false.

            • OptionalinterpretSingleEnumAsConst?: boolean

              This option enables that a single enum value {enum: ['test']} is interpreted the same as if the value was {const: 'test'} Use this option to reduce the number of enums being created and use constant values instead.

            • OptionalpropertyNameForAdditionalProperties?: string

              This option changes which property name that should be used to represent additionalProperties in JSON Schema

          • Optionalopenapi?: { includeComponentSchemas?: boolean }
          • Optionaltypescript?: {
                aliasRef?: boolean;
                compilerOptions?: {
                    allowJs?: boolean;
                    allowSyntheticDefaultImports?: boolean;
                    allowUmdGlobalAccess?: boolean;
                    allowUnreachableCode?: boolean;
                    allowUnusedLabels?: boolean;
                    alwaysStrict?: boolean;
                    assumeChangesOnlyAffectDirectDependencies?: boolean;
                    baseUrl?: string;
                    charset?: string;
                    checkJs?: boolean;
                    composite?: boolean;
                    declaration?: boolean;
                    declarationDir?: string;
                    declarationMap?: boolean;
                    disableReferencedProjectLoad?: boolean;
                    disableSizeLimit?: boolean;
                    disableSolutionSearching?: boolean;
                    disableSourceOfProjectReferenceRedirect?: boolean;
                    downlevelIteration?: boolean;
                    emitBOM?: boolean;
                    emitDeclarationOnly?: boolean;
                    emitDecoratorMetadata?: boolean;
                    esModuleInterop?: boolean;
                    exactOptionalPropertyTypes?: boolean;
                    experimentalDecorators?: boolean;
                    forceConsistentCasingInFileNames?: boolean;
                    importHelpers?: boolean;
                    importsNotUsedAsValues?: ImportsNotUsedAsValues;
                    incremental?: boolean;
                    inlineSourceMap?: boolean;
                    inlineSources?: boolean;
                    isolatedModules?: boolean;
                    jsx?: JsxEmit;
                    jsxFactory?: string;
                    jsxFragmentFactory?: string;
                    jsxImportSource?: string;
                    keyofStringsOnly?: boolean;
                    lib?: ((...) | (...))[];
                    locale?: string;
                    mapRoot?: string;
                    maxNodeModuleJsDepth?: number;
                    module?: ModuleKind;
                    moduleDetection?: ModuleDetectionKind;
                    moduleResolution?: ModuleResolutionKind;
                    moduleSuffixes?: ((...) | (...))[];
                    newLine?: NewLineKind;
                    noEmit?: boolean;
                    noEmitHelpers?: boolean;
                    noEmitOnError?: boolean;
                    noErrorTruncation?: boolean;
                    noFallthroughCasesInSwitch?: boolean;
                    noImplicitAny?: boolean;
                    noImplicitOverride?: boolean;
                    noImplicitReturns?: boolean;
                    noImplicitThis?: boolean;
                    noImplicitUseStrict?: boolean;
                    noLib?: boolean;
                    noPropertyAccessFromIndexSignature?: boolean;
                    noResolve?: boolean;
                    noStrictGenericChecks?: boolean;
                    noUncheckedIndexedAccess?: boolean;
                    noUnusedLocals?: boolean;
                    noUnusedParameters?: boolean;
                    out?: string;
                    outDir?: string;
                    outFile?: string;
                    paths?: { [key: string]: (...) | (...) };
                    preserveConstEnums?: boolean;
                    preserveSymlinks?: boolean;
                    preserveValueImports?: boolean;
                    project?: string;
                    reactNamespace?: string;
                    removeComments?: boolean;
                    resolveJsonModule?: boolean;
                    rootDir?: string;
                    rootDirs?: ((...) | (...))[];
                    skipDefaultLibCheck?: boolean;
                    skipLibCheck?: boolean;
                    sourceMap?: boolean;
                    sourceRoot?: string;
                    strict?: boolean;
                    strictBindCallApply?: boolean;
                    strictFunctionTypes?: boolean;
                    strictNullChecks?: boolean;
                    strictPropertyInitialization?: boolean;
                    stripInternal?: boolean;
                    suppressExcessPropertyErrors?: boolean;
                    suppressImplicitAnyIndexErrors?: boolean;
                    target?: ScriptTarget;
                    traceResolution?: boolean;
                    tsBuildInfoFile?: string;
                    typeRoots?: ((...) | (...))[];
                    types?: ((...) | (...))[];
                    useDefineForClassFields?: boolean;
                    useUnknownInCatchVariables?: boolean;
                    [key: string]:
                        | string
                        | number
                        | boolean
                        | ((...) | (...))[]
                        | ((...) | (...) | (...))[]
                        | { [key: string]: (...) | (...) }
                        | ((...) | (...))[]
                        | ((...) | (...))[]
                        | {
                            _declarationBrand?: any;
                            amdDependencies?: (...) | (...);
                            decorators?: undefined;
                            end?: (...) | (...);
                            endOfFileToken?: (...) | (...);
                            extendedSourceFiles?: (...) | (...);
                            fileName?: (...) | (...);
                            flags?: (...) | (...);
                            forEachChild?: (...) | (...);
                            getChildAt?: (...) | (...);
                            getChildCount?: (...) | (...);
                            getChildren?: (...) | (...);
                            getEnd?: (...) | (...);
                            getFirstToken?: (...) | (...);
                            getFullStart?: (...) | (...);
                            getFullText?: (...) | (...);
                            getFullWidth?: (...) | (...);
                            getLastToken?: (...) | (...);
                            getLeadingTriviaWidth?: (...) | (...);
                            getLineAndCharacterOfPosition?: (...) | (...);
                            getLineEndOfPosition?: (...) | (...);
                            getLineStarts?: (...) | (...);
                            getPositionOfLineAndCharacter?: (...) | (...);
                            getSourceFile?: (...) | (...);
                            getStart?: (...) | (...);
                            getText?: (...) | (...);
                            getWidth?: (...) | (...);
                            hasNoDefaultLib?: (...) | (...) | (...);
                            impliedNodeFormat?: (...) | (...) | (...);
                            isDeclarationFile?: (...) | (...) | (...);
                            kind?: (...) | (...);
                            languageVariant?: (...) | (...);
                            languageVersion?: (...) | (...);
                            libReferenceDirectives?: (...) | (...);
                            modifiers?: (...) | (...);
                            moduleName?: (...) | (...);
                            parent?: (...) | (...);
                            pos?: (...) | (...);
                            referencedFiles?: (...) | (...);
                            statements?: (...) | (...);
                            text?: (...) | (...);
                            typeReferenceDirectives?: (...) | (...);
                            update?: (...) | (...);
                        }
                        | null
                        | undefined;
                };
                defaultNumberType?: "number"
                | "integer";
                defaultProps?: boolean;
                esModuleInterop?: boolean;
                excludePrivate?: boolean;
                id?: string;
                ignoreErrors?: boolean;
                include?: (string | undefined)[];
                noExtraProps?: boolean;
                out?: string;
                propOrder?: boolean;
                ref?: boolean;
                rejectDateType?: boolean;
                required?: boolean;
                skipLibCheck?: boolean;
                strictNullChecks?: boolean;
                titles?: boolean;
                topRef?: boolean;
                tsNodeRegister?: boolean;
                typeOfKeyword?: boolean;
                uniqueNames?: boolean;
                validationKeywords?: (string | undefined)[];
            }
            • OptionalaliasRef?: boolean
            • OptionalcompilerOptions?: {
                  allowJs?: boolean;
                  allowSyntheticDefaultImports?: boolean;
                  allowUmdGlobalAccess?: boolean;
                  allowUnreachableCode?: boolean;
                  allowUnusedLabels?: boolean;
                  alwaysStrict?: boolean;
                  assumeChangesOnlyAffectDirectDependencies?: boolean;
                  baseUrl?: string;
                  charset?: string;
                  checkJs?: boolean;
                  composite?: boolean;
                  declaration?: boolean;
                  declarationDir?: string;
                  declarationMap?: boolean;
                  disableReferencedProjectLoad?: boolean;
                  disableSizeLimit?: boolean;
                  disableSolutionSearching?: boolean;
                  disableSourceOfProjectReferenceRedirect?: boolean;
                  downlevelIteration?: boolean;
                  emitBOM?: boolean;
                  emitDeclarationOnly?: boolean;
                  emitDecoratorMetadata?: boolean;
                  esModuleInterop?: boolean;
                  exactOptionalPropertyTypes?: boolean;
                  experimentalDecorators?: boolean;
                  forceConsistentCasingInFileNames?: boolean;
                  importHelpers?: boolean;
                  importsNotUsedAsValues?: ImportsNotUsedAsValues;
                  incremental?: boolean;
                  inlineSourceMap?: boolean;
                  inlineSources?: boolean;
                  isolatedModules?: boolean;
                  jsx?: JsxEmit;
                  jsxFactory?: string;
                  jsxFragmentFactory?: string;
                  jsxImportSource?: string;
                  keyofStringsOnly?: boolean;
                  lib?: ((...) | (...))[];
                  locale?: string;
                  mapRoot?: string;
                  maxNodeModuleJsDepth?: number;
                  module?: ModuleKind;
                  moduleDetection?: ModuleDetectionKind;
                  moduleResolution?: ModuleResolutionKind;
                  moduleSuffixes?: ((...) | (...))[];
                  newLine?: NewLineKind;
                  noEmit?: boolean;
                  noEmitHelpers?: boolean;
                  noEmitOnError?: boolean;
                  noErrorTruncation?: boolean;
                  noFallthroughCasesInSwitch?: boolean;
                  noImplicitAny?: boolean;
                  noImplicitOverride?: boolean;
                  noImplicitReturns?: boolean;
                  noImplicitThis?: boolean;
                  noImplicitUseStrict?: boolean;
                  noLib?: boolean;
                  noPropertyAccessFromIndexSignature?: boolean;
                  noResolve?: boolean;
                  noStrictGenericChecks?: boolean;
                  noUncheckedIndexedAccess?: boolean;
                  noUnusedLocals?: boolean;
                  noUnusedParameters?: boolean;
                  out?: string;
                  outDir?: string;
                  outFile?: string;
                  paths?: { [key: string]: (...) | (...) };
                  preserveConstEnums?: boolean;
                  preserveSymlinks?: boolean;
                  preserveValueImports?: boolean;
                  project?: string;
                  reactNamespace?: string;
                  removeComments?: boolean;
                  resolveJsonModule?: boolean;
                  rootDir?: string;
                  rootDirs?: ((...) | (...))[];
                  skipDefaultLibCheck?: boolean;
                  skipLibCheck?: boolean;
                  sourceMap?: boolean;
                  sourceRoot?: string;
                  strict?: boolean;
                  strictBindCallApply?: boolean;
                  strictFunctionTypes?: boolean;
                  strictNullChecks?: boolean;
                  strictPropertyInitialization?: boolean;
                  stripInternal?: boolean;
                  suppressExcessPropertyErrors?: boolean;
                  suppressImplicitAnyIndexErrors?: boolean;
                  target?: ScriptTarget;
                  traceResolution?: boolean;
                  tsBuildInfoFile?: string;
                  typeRoots?: ((...) | (...))[];
                  types?: ((...) | (...))[];
                  useDefineForClassFields?: boolean;
                  useUnknownInCatchVariables?: boolean;
                  [key: string]:
                      | string
                      | number
                      | boolean
                      | ((...) | (...))[]
                      | ((...) | (...) | (...))[]
                      | { [key: string]: (...) | (...) }
                      | ((...) | (...))[]
                      | ((...) | (...))[]
                      | {
                          _declarationBrand?: any;
                          amdDependencies?: (...) | (...);
                          decorators?: undefined;
                          end?: (...) | (...);
                          endOfFileToken?: (...) | (...);
                          extendedSourceFiles?: (...) | (...);
                          fileName?: (...) | (...);
                          flags?: (...) | (...);
                          forEachChild?: (...) | (...);
                          getChildAt?: (...) | (...);
                          getChildCount?: (...) | (...);
                          getChildren?: (...) | (...);
                          getEnd?: (...) | (...);
                          getFirstToken?: (...) | (...);
                          getFullStart?: (...) | (...);
                          getFullText?: (...) | (...);
                          getFullWidth?: (...) | (...);
                          getLastToken?: (...) | (...);
                          getLeadingTriviaWidth?: (...) | (...);
                          getLineAndCharacterOfPosition?: (...) | (...);
                          getLineEndOfPosition?: (...) | (...);
                          getLineStarts?: (...) | (...);
                          getPositionOfLineAndCharacter?: (...) | (...);
                          getSourceFile?: (...) | (...);
                          getStart?: (...) | (...);
                          getText?: (...) | (...);
                          getWidth?: (...) | (...);
                          hasNoDefaultLib?: (...) | (...) | (...);
                          impliedNodeFormat?: (...) | (...) | (...);
                          isDeclarationFile?: (...) | (...) | (...);
                          kind?: (...) | (...);
                          languageVariant?: (...) | (...);
                          languageVersion?: (...) | (...);
                          libReferenceDirectives?: (...) | (...);
                          modifiers?: (...) | (...);
                          moduleName?: (...) | (...);
                          parent?: (...) | (...);
                          pos?: (...) | (...);
                          referencedFiles?: (...) | (...);
                          statements?: (...) | (...);
                          text?: (...) | (...);
                          typeReferenceDirectives?: (...) | (...);
                          update?: (...) | (...);
                      }
                      | null
                      | undefined;
              }
              • OptionalallowJs?: boolean
              • OptionalallowSyntheticDefaultImports?: boolean
              • OptionalallowUmdGlobalAccess?: boolean
              • OptionalallowUnreachableCode?: boolean
              • OptionalallowUnusedLabels?: boolean
              • OptionalalwaysStrict?: boolean
              • OptionalassumeChangesOnlyAffectDirectDependencies?: boolean
              • OptionalbaseUrl?: string
              • Optionalcharset?: string
              • OptionalcheckJs?: boolean
              • Optionalcomposite?: boolean
              • Optionaldeclaration?: boolean
              • OptionaldeclarationDir?: string
              • OptionaldeclarationMap?: boolean
              • OptionaldisableReferencedProjectLoad?: boolean
              • OptionaldisableSizeLimit?: boolean
              • OptionaldisableSolutionSearching?: boolean
              • OptionaldisableSourceOfProjectReferenceRedirect?: boolean
              • OptionaldownlevelIteration?: boolean
              • OptionalemitBOM?: boolean
              • OptionalemitDeclarationOnly?: boolean
              • OptionalemitDecoratorMetadata?: boolean
              • OptionalesModuleInterop?: boolean
              • OptionalexactOptionalPropertyTypes?: boolean
              • OptionalexperimentalDecorators?: boolean
              • OptionalforceConsistentCasingInFileNames?: boolean
              • OptionalimportHelpers?: boolean
              • OptionalimportsNotUsedAsValues?: ImportsNotUsedAsValues
              • Optionalincremental?: boolean
              • OptionalinlineSourceMap?: boolean
              • OptionalinlineSources?: boolean
              • OptionalisolatedModules?: boolean
              • Optionaljsx?: JsxEmit
              • OptionaljsxFactory?: string
              • OptionaljsxFragmentFactory?: string
              • OptionaljsxImportSource?: string
              • OptionalkeyofStringsOnly?: boolean
              • Optionallib?: ((...) | (...))[]
              • Optionallocale?: string
              • OptionalmapRoot?: string
              • OptionalmaxNodeModuleJsDepth?: number
              • Optionalmodule?: ModuleKind
              • OptionalmoduleDetection?: ModuleDetectionKind
              • OptionalmoduleResolution?: ModuleResolutionKind
              • OptionalmoduleSuffixes?: ((...) | (...))[]
              • OptionalnewLine?: NewLineKind
              • OptionalnoEmit?: boolean
              • OptionalnoEmitHelpers?: boolean
              • OptionalnoEmitOnError?: boolean
              • OptionalnoErrorTruncation?: boolean
              • OptionalnoFallthroughCasesInSwitch?: boolean
              • OptionalnoImplicitAny?: boolean
              • OptionalnoImplicitOverride?: boolean
              • OptionalnoImplicitReturns?: boolean
              • OptionalnoImplicitThis?: boolean
              • OptionalnoImplicitUseStrict?: boolean
              • OptionalnoLib?: boolean
              • OptionalnoPropertyAccessFromIndexSignature?: boolean
              • OptionalnoResolve?: boolean
              • OptionalnoStrictGenericChecks?: boolean
              • OptionalnoUncheckedIndexedAccess?: boolean
              • OptionalnoUnusedLocals?: boolean
              • OptionalnoUnusedParameters?: boolean
              • Optionalout?: string
              • OptionaloutDir?: string
              • OptionaloutFile?: string
              • Optionalpaths?: { [key: string]: (...) | (...) }
              • OptionalpreserveConstEnums?: boolean
              • OptionalpreserveSymlinks?: boolean
              • OptionalpreserveValueImports?: boolean
              • Optionalproject?: string
              • OptionalreactNamespace?: string
              • OptionalremoveComments?: boolean
              • OptionalresolveJsonModule?: boolean
              • OptionalrootDir?: string
              • OptionalrootDirs?: ((...) | (...))[]
              • OptionalskipDefaultLibCheck?: boolean
              • OptionalskipLibCheck?: boolean
              • OptionalsourceMap?: boolean
              • OptionalsourceRoot?: string
              • Optionalstrict?: boolean
              • OptionalstrictBindCallApply?: boolean
              • OptionalstrictFunctionTypes?: boolean
              • OptionalstrictNullChecks?: boolean
              • OptionalstrictPropertyInitialization?: boolean
              • OptionalstripInternal?: boolean
              • OptionalsuppressExcessPropertyErrors?: boolean
              • OptionalsuppressImplicitAnyIndexErrors?: boolean
              • Optionaltarget?: ScriptTarget
              • OptionaltraceResolution?: boolean
              • OptionaltsBuildInfoFile?: string
              • OptionaltypeRoots?: ((...) | (...))[]

                Paths used to compute primary types search locations

              • Optionaltypes?: ((...) | (...))[]
              • OptionaluseDefineForClassFields?: boolean
              • OptionaluseUnknownInCatchVariables?: boolean
            • OptionaldefaultNumberType?: "number" | "integer"
            • OptionaldefaultProps?: boolean
            • OptionalesModuleInterop?: boolean
            • OptionalexcludePrivate?: boolean
            • Optionalid?: string
            • OptionalignoreErrors?: boolean
            • Optionalinclude?: (string | undefined)[]
            • OptionalnoExtraProps?: boolean
            • Optionalout?: string
            • OptionalpropOrder?: boolean
            • Optionalref?: boolean
            • OptionalrejectDateType?: boolean
            • Optionalrequired?: boolean
            • OptionalskipLibCheck?: boolean
            • OptionalstrictNullChecks?: boolean
            • Optionaltitles?: boolean
            • OptionaltopRef?: boolean
            • OptionaltsNodeRegister?: boolean
            • OptionaltypeOfKeyword?: boolean
            • OptionaluniqueNames?: boolean
            • OptionalvalidationKeywords?: (string | undefined)[]
        • OptionaltypeMapping?: {
              Any?: TypeMappingFunction<
                  ConstrainedAnyModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Array?: TypeMappingFunction<
                  ConstrainedArrayModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Boolean?: TypeMappingFunction<
                  ConstrainedBooleanModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Dictionary?: TypeMappingFunction<
                  ConstrainedDictionaryModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Enum?: TypeMappingFunction<
                  ConstrainedEnumModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Float?: TypeMappingFunction<
                  ConstrainedFloatModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Integer?: TypeMappingFunction<
                  ConstrainedIntegerModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Object?: TypeMappingFunction<
                  ConstrainedObjectModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Reference?: TypeMappingFunction<
                  ConstrainedReferenceModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              String?: TypeMappingFunction<
                  ConstrainedStringModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Tuple?: TypeMappingFunction<
                  ConstrainedTupleModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Union?: TypeMappingFunction<
                  ConstrainedUnionModel,
                  GoOptions,
                  GoDependencyManager,
              >;
          }
        • OptionalunionAnyModelName?: string
        • OptionalunionArrModelName?: string
        • OptionalunionDictModelName?: string

      Returns Promise<RenderOutput>

    • Returns the Go options by merging custom options with default ones.

      Parameters

      • Optionaloptions: {
            constraints?: {
                constant?: ConstantConstraint<GoOptions>;
                enumKey?: EnumKeyConstraint<GoOptions>;
                enumValue?: EnumValueConstraint<GoOptions>;
                modelName?: ModelNameConstraint<GoOptions>;
                propertyKey?: PropertyKeyConstraint<GoOptions>;
            };
            defaultPreset?: {
                enum?: {
                    additionalContent?: (
                        args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                    ) => string | Promise<string>;
                    item?: (
                        args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel> & EnumArgs & {
                            index: number;
                        },
                    ) => string;
                    self?: (
                        args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                    ) => string | Promise<string>;
                };
                struct?: {
                    additionalContent?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                    ) => string | Promise<string>;
                    discriminator?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedUnionModel>,
                    ) => string;
                    field?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedObjectModel> & FieldArgs,
                    ) => string | Promise<string>;
                    self?: (
                        args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                    ) => string | Promise<string>;
                };
                union?: {
                    additionalContent?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                    ) => string | Promise<string>;
                    discriminator?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                    ) => string;
                    field?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel> & UnionFieldArgs,
                    ) => string | Promise<string>;
                    self?: (
                        args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                    ) => string | Promise<string>;
                };
            };
            dependencyManager?: | (() => AbstractDependencyManager)
            | {
                addDependency?: (dependency: string) => void;
                dependencies?: (string | undefined)[];
            };
            indentation?: { size?: number; type?: IndentationTypes };
            presets?: (
                | {
                    enum?: {
                        additionalContent?: (
                            args: PresetArgs<(...), (...), (...)>,
                        ) => (...) | (...);
                        item?: (args: (...) & (...) & (...)) => string;
                        self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                    };
                    struct?: {
                        additionalContent?: (
                            args: PresetArgs<(...), (...), (...)>,
                        ) => (...) | (...);
                        discriminator?: (args: PresetArgs<(...), (...), (...)>) => string;
                        field?: (args: (...) & (...)) => (...) | (...);
                        self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                    };
                    union?: {
                        additionalContent?: (
                            args: PresetArgs<(...), (...), (...)>,
                        ) => (...) | (...);
                        discriminator?: (args: PresetArgs<(...), (...), (...)>) => string;
                        field?: (args: (...) & (...)) => (...) | (...);
                        self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                    };
                }
                | {
                    options?: any;
                    preset?: {
                        enum?: {
                            additionalContent?: (...)
                            | (...);
                            item?: (...) | (...);
                            self?: (...) | (...);
                        };
                        struct?: {
                            additionalContent?: (...)
                            | (...);
                            discriminator?: (...) | (...);
                            field?: (...) | (...);
                            self?: (...) | (...);
                        };
                        union?: {
                            additionalContent?: (...)
                            | (...);
                            discriminator?: (...) | (...);
                            field?: (...) | (...);
                            self?: (...) | (...);
                        };
                    };
                }
                | undefined
            )[];
            processorOptions?: {
                asyncapi?: {
                    __unstable?: { resolver?: { resolvers?: (...)
                    | (...) } };
                    applyTraits?: boolean;
                    parseSchemas?: boolean;
                    source?: string;
                    validateOptions?: {
                        __unstable?: { resolver?: (...) | (...) };
                        allowedSeverity?: {
                            error?: (...) | (...) | (...);
                            hint?: (...) | (...) | (...);
                            info?: (...) | (...) | (...);
                            warning?: (...) | (...) | (...);
                        };
                        ignoreUnknownFormat?: boolean;
                    };
                };
                jsonSchema?: {
                    allowInheritance?: boolean;
                    disableCache?: boolean;
                    discriminator?: string;
                    ignoreAdditionalItems?: boolean;
                    ignoreAdditionalProperties?: boolean;
                    interpretSingleEnumAsConst?: boolean;
                    propertyNameForAdditionalProperties?: string;
                };
                openapi?: { includeComponentSchemas?: boolean };
                typescript?: {
                    aliasRef?: boolean;
                    compilerOptions?: {
                        allowJs?: boolean;
                        allowSyntheticDefaultImports?: boolean;
                        allowUmdGlobalAccess?: boolean;
                        allowUnreachableCode?: boolean;
                        allowUnusedLabels?: boolean;
                        alwaysStrict?: boolean;
                        assumeChangesOnlyAffectDirectDependencies?: boolean;
                        baseUrl?: string;
                        charset?: string;
                        checkJs?: boolean;
                        composite?: boolean;
                        declaration?: boolean;
                        declarationDir?: string;
                        declarationMap?: boolean;
                        disableReferencedProjectLoad?: boolean;
                        disableSizeLimit?: boolean;
                        disableSolutionSearching?: boolean;
                        disableSourceOfProjectReferenceRedirect?: boolean;
                        downlevelIteration?: boolean;
                        emitBOM?: boolean;
                        emitDeclarationOnly?: boolean;
                        emitDecoratorMetadata?: boolean;
                        esModuleInterop?: boolean;
                        exactOptionalPropertyTypes?: boolean;
                        experimentalDecorators?: boolean;
                        forceConsistentCasingInFileNames?: boolean;
                        importHelpers?: boolean;
                        importsNotUsedAsValues?: ImportsNotUsedAsValues;
                        incremental?: boolean;
                        inlineSourceMap?: boolean;
                        inlineSources?: boolean;
                        isolatedModules?: boolean;
                        jsx?: JsxEmit;
                        jsxFactory?: string;
                        jsxFragmentFactory?: string;
                        jsxImportSource?: string;
                        keyofStringsOnly?: boolean;
                        lib?: ((...) | (...))[];
                        locale?: string;
                        mapRoot?: string;
                        maxNodeModuleJsDepth?: number;
                        module?: ModuleKind;
                        moduleDetection?: ModuleDetectionKind;
                        moduleResolution?: ModuleResolutionKind;
                        moduleSuffixes?: ((...) | (...))[];
                        newLine?: NewLineKind;
                        noEmit?: boolean;
                        noEmitHelpers?: boolean;
                        noEmitOnError?: boolean;
                        noErrorTruncation?: boolean;
                        noFallthroughCasesInSwitch?: boolean;
                        noImplicitAny?: boolean;
                        noImplicitOverride?: boolean;
                        noImplicitReturns?: boolean;
                        noImplicitThis?: boolean;
                        noImplicitUseStrict?: boolean;
                        noLib?: boolean;
                        noPropertyAccessFromIndexSignature?: boolean;
                        noResolve?: boolean;
                        noStrictGenericChecks?: boolean;
                        noUncheckedIndexedAccess?: boolean;
                        noUnusedLocals?: boolean;
                        noUnusedParameters?: boolean;
                        out?: string;
                        outDir?: string;
                        outFile?: string;
                        paths?: { [key: string]: (...) | (...) };
                        preserveConstEnums?: boolean;
                        preserveSymlinks?: boolean;
                        preserveValueImports?: boolean;
                        project?: string;
                        reactNamespace?: string;
                        removeComments?: boolean;
                        resolveJsonModule?: boolean;
                        rootDir?: string;
                        rootDirs?: ((...) | (...))[];
                        skipDefaultLibCheck?: boolean;
                        skipLibCheck?: boolean;
                        sourceMap?: boolean;
                        sourceRoot?: string;
                        strict?: boolean;
                        strictBindCallApply?: boolean;
                        strictFunctionTypes?: boolean;
                        strictNullChecks?: boolean;
                        strictPropertyInitialization?: boolean;
                        stripInternal?: boolean;
                        suppressExcessPropertyErrors?: boolean;
                        suppressImplicitAnyIndexErrors?: boolean;
                        target?: ScriptTarget;
                        traceResolution?: boolean;
                        tsBuildInfoFile?: string;
                        typeRoots?: ((...) | (...))[];
                        types?: ((...) | (...))[];
                        useDefineForClassFields?: boolean;
                        useUnknownInCatchVariables?: boolean;
                        [key: string]:
                            | string
                            | number
                            | boolean
                            | ((...) | (...))[]
                            | ((...) | (...) | (...))[]
                            | { [key: string]: (...) | (...) }
                            | ((...) | (...))[]
                            | ((...) | (...))[]
                            | {
                                _declarationBrand?: any;
                                amdDependencies?: (...) | (...);
                                decorators?: undefined;
                                end?: (...) | (...);
                                endOfFileToken?: (...) | (...);
                                extendedSourceFiles?: (...) | (...);
                                fileName?: (...) | (...);
                                flags?: (...) | (...);
                                forEachChild?: (...) | (...);
                                getChildAt?: (...) | (...);
                                getChildCount?: (...) | (...);
                                getChildren?: (...) | (...);
                                getEnd?: (...) | (...);
                                getFirstToken?: (...) | (...);
                                getFullStart?: (...) | (...);
                                getFullText?: (...) | (...);
                                getFullWidth?: (...) | (...);
                                getLastToken?: (...) | (...);
                                getLeadingTriviaWidth?: (...) | (...);
                                getLineAndCharacterOfPosition?: (...) | (...);
                                getLineEndOfPosition?: (...) | (...);
                                getLineStarts?: (...) | (...);
                                getPositionOfLineAndCharacter?: (...) | (...);
                                getSourceFile?: (...) | (...);
                                getStart?: (...) | (...);
                                getText?: (...) | (...);
                                getWidth?: (...) | (...);
                                hasNoDefaultLib?: (...) | (...) | (...);
                                impliedNodeFormat?: (...) | (...) | (...);
                                isDeclarationFile?: (...) | (...) | (...);
                                kind?: (...) | (...);
                                languageVariant?: (...) | (...);
                                languageVersion?: (...) | (...);
                                libReferenceDirectives?: (...) | (...);
                                modifiers?: (...) | (...);
                                moduleName?: (...) | (...);
                                parent?: (...) | (...);
                                pos?: (...) | (...);
                                referencedFiles?: (...) | (...);
                                statements?: (...) | (...);
                                text?: (...) | (...);
                                typeReferenceDirectives?: (...) | (...);
                                update?: (...) | (...);
                            }
                            | null
                            | undefined;
                    };
                    defaultNumberType?: "number"
                    | "integer";
                    defaultProps?: boolean;
                    esModuleInterop?: boolean;
                    excludePrivate?: boolean;
                    id?: string;
                    ignoreErrors?: boolean;
                    include?: (string | undefined)[];
                    noExtraProps?: boolean;
                    out?: string;
                    propOrder?: boolean;
                    ref?: boolean;
                    rejectDateType?: boolean;
                    required?: boolean;
                    skipLibCheck?: boolean;
                    strictNullChecks?: boolean;
                    titles?: boolean;
                    topRef?: boolean;
                    tsNodeRegister?: boolean;
                    typeOfKeyword?: boolean;
                    uniqueNames?: boolean;
                    validationKeywords?: (string | undefined)[];
                };
            };
            typeMapping?: {
                Any?: TypeMappingFunction<
                    ConstrainedAnyModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Array?: TypeMappingFunction<
                    ConstrainedArrayModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Boolean?: TypeMappingFunction<
                    ConstrainedBooleanModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Dictionary?: TypeMappingFunction<
                    ConstrainedDictionaryModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Enum?: TypeMappingFunction<
                    ConstrainedEnumModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Float?: TypeMappingFunction<
                    ConstrainedFloatModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Integer?: TypeMappingFunction<
                    ConstrainedIntegerModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Object?: TypeMappingFunction<
                    ConstrainedObjectModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Reference?: TypeMappingFunction<
                    ConstrainedReferenceModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                String?: TypeMappingFunction<
                    ConstrainedStringModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Tuple?: TypeMappingFunction<
                    ConstrainedTupleModel,
                    GoOptions,
                    GoDependencyManager,
                >;
                Union?: TypeMappingFunction<
                    ConstrainedUnionModel,
                    GoOptions,
                    GoDependencyManager,
                >;
            };
            unionAnyModelName?: string;
            unionArrModelName?: string;
            unionDictModelName?: string;
        }
        • Optionalconstraints?: {
              constant?: ConstantConstraint<GoOptions>;
              enumKey?: EnumKeyConstraint<GoOptions>;
              enumValue?: EnumValueConstraint<GoOptions>;
              modelName?: ModelNameConstraint<GoOptions>;
              propertyKey?: PropertyKeyConstraint<GoOptions>;
          }
        • OptionaldefaultPreset?: {
              enum?: {
                  additionalContent?: (
                      args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                  ) => string | Promise<string>;
                  item?: (
                      args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel> & EnumArgs & {
                          index: number;
                      },
                  ) => string;
                  self?: (
                      args: PresetArgs<EnumRenderer, any, ConstrainedEnumModel>,
                  ) => string | Promise<string>;
              };
              struct?: {
                  additionalContent?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                  ) => string | Promise<string>;
                  discriminator?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedUnionModel>,
                  ) => string;
                  field?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedObjectModel> & FieldArgs,
                  ) => string | Promise<string>;
                  self?: (
                      args: PresetArgs<StructRenderer, any, ConstrainedObjectModel>,
                  ) => string | Promise<string>;
              };
              union?: {
                  additionalContent?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                  ) => string | Promise<string>;
                  discriminator?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                  ) => string;
                  field?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel> & UnionFieldArgs,
                  ) => string | Promise<string>;
                  self?: (
                      args: PresetArgs<UnionRenderer, any, ConstrainedUnionModel>,
                  ) => string | Promise<string>;
              };
          }
        • OptionaldependencyManager?:
              | (() => AbstractDependencyManager)
              | {
                  addDependency?: (dependency: string) => void;
                  dependencies?: (string | undefined)[];
              }

          This dependency manager type serves two functions.

          1. It can be used to provide a factory for generate functions
          2. It can be used to provide a single instance of a dependency manager, to add all dependencies together

          This depends on context and where it's used.

        • Optionalindentation?: { size?: number; type?: IndentationTypes }
        • Optionalpresets?: (
              | {
                  enum?: {
                      additionalContent?: (
                          args: PresetArgs<(...), (...), (...)>,
                      ) => (...) | (...);
                      item?: (args: (...) & (...) & (...)) => string;
                      self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                  };
                  struct?: {
                      additionalContent?: (
                          args: PresetArgs<(...), (...), (...)>,
                      ) => (...) | (...);
                      discriminator?: (args: PresetArgs<(...), (...), (...)>) => string;
                      field?: (args: (...) & (...)) => (...) | (...);
                      self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                  };
                  union?: {
                      additionalContent?: (
                          args: PresetArgs<(...), (...), (...)>,
                      ) => (...) | (...);
                      discriminator?: (args: PresetArgs<(...), (...), (...)>) => string;
                      field?: (args: (...) & (...)) => (...) | (...);
                      self?: (args: PresetArgs<(...), (...), (...)>) => (...) | (...);
                  };
              }
              | {
                  options?: any;
                  preset?: {
                      enum?: {
                          additionalContent?: (...)
                          | (...);
                          item?: (...) | (...);
                          self?: (...) | (...);
                      };
                      struct?: {
                          additionalContent?: (...)
                          | (...);
                          discriminator?: (...) | (...);
                          field?: (...) | (...);
                          self?: (...) | (...);
                      };
                      union?: {
                          additionalContent?: (...)
                          | (...);
                          discriminator?: (...) | (...);
                          field?: (...) | (...);
                          self?: (...) | (...);
                      };
                  };
              }
              | undefined
          )[]
        • OptionalprocessorOptions?: {
              asyncapi?: {
                  __unstable?: { resolver?: { resolvers?: (...) | (...) } };
                  applyTraits?: boolean;
                  parseSchemas?: boolean;
                  source?: string;
                  validateOptions?: {
                      __unstable?: { resolver?: (...) | (...) };
                      allowedSeverity?: {
                          error?: (...) | (...) | (...);
                          hint?: (...) | (...) | (...);
                          info?: (...) | (...) | (...);
                          warning?: (...) | (...) | (...);
                      };
                      ignoreUnknownFormat?: boolean;
                  };
              };
              jsonSchema?: {
                  allowInheritance?: boolean;
                  disableCache?: boolean;
                  discriminator?: string;
                  ignoreAdditionalItems?: boolean;
                  ignoreAdditionalProperties?: boolean;
                  interpretSingleEnumAsConst?: boolean;
                  propertyNameForAdditionalProperties?: string;
              };
              openapi?: { includeComponentSchemas?: boolean };
              typescript?: {
                  aliasRef?: boolean;
                  compilerOptions?: {
                      allowJs?: boolean;
                      allowSyntheticDefaultImports?: boolean;
                      allowUmdGlobalAccess?: boolean;
                      allowUnreachableCode?: boolean;
                      allowUnusedLabels?: boolean;
                      alwaysStrict?: boolean;
                      assumeChangesOnlyAffectDirectDependencies?: boolean;
                      baseUrl?: string;
                      charset?: string;
                      checkJs?: boolean;
                      composite?: boolean;
                      declaration?: boolean;
                      declarationDir?: string;
                      declarationMap?: boolean;
                      disableReferencedProjectLoad?: boolean;
                      disableSizeLimit?: boolean;
                      disableSolutionSearching?: boolean;
                      disableSourceOfProjectReferenceRedirect?: boolean;
                      downlevelIteration?: boolean;
                      emitBOM?: boolean;
                      emitDeclarationOnly?: boolean;
                      emitDecoratorMetadata?: boolean;
                      esModuleInterop?: boolean;
                      exactOptionalPropertyTypes?: boolean;
                      experimentalDecorators?: boolean;
                      forceConsistentCasingInFileNames?: boolean;
                      importHelpers?: boolean;
                      importsNotUsedAsValues?: ImportsNotUsedAsValues;
                      incremental?: boolean;
                      inlineSourceMap?: boolean;
                      inlineSources?: boolean;
                      isolatedModules?: boolean;
                      jsx?: JsxEmit;
                      jsxFactory?: string;
                      jsxFragmentFactory?: string;
                      jsxImportSource?: string;
                      keyofStringsOnly?: boolean;
                      lib?: ((...) | (...))[];
                      locale?: string;
                      mapRoot?: string;
                      maxNodeModuleJsDepth?: number;
                      module?: ModuleKind;
                      moduleDetection?: ModuleDetectionKind;
                      moduleResolution?: ModuleResolutionKind;
                      moduleSuffixes?: ((...) | (...))[];
                      newLine?: NewLineKind;
                      noEmit?: boolean;
                      noEmitHelpers?: boolean;
                      noEmitOnError?: boolean;
                      noErrorTruncation?: boolean;
                      noFallthroughCasesInSwitch?: boolean;
                      noImplicitAny?: boolean;
                      noImplicitOverride?: boolean;
                      noImplicitReturns?: boolean;
                      noImplicitThis?: boolean;
                      noImplicitUseStrict?: boolean;
                      noLib?: boolean;
                      noPropertyAccessFromIndexSignature?: boolean;
                      noResolve?: boolean;
                      noStrictGenericChecks?: boolean;
                      noUncheckedIndexedAccess?: boolean;
                      noUnusedLocals?: boolean;
                      noUnusedParameters?: boolean;
                      out?: string;
                      outDir?: string;
                      outFile?: string;
                      paths?: { [key: string]: (...) | (...) };
                      preserveConstEnums?: boolean;
                      preserveSymlinks?: boolean;
                      preserveValueImports?: boolean;
                      project?: string;
                      reactNamespace?: string;
                      removeComments?: boolean;
                      resolveJsonModule?: boolean;
                      rootDir?: string;
                      rootDirs?: ((...) | (...))[];
                      skipDefaultLibCheck?: boolean;
                      skipLibCheck?: boolean;
                      sourceMap?: boolean;
                      sourceRoot?: string;
                      strict?: boolean;
                      strictBindCallApply?: boolean;
                      strictFunctionTypes?: boolean;
                      strictNullChecks?: boolean;
                      strictPropertyInitialization?: boolean;
                      stripInternal?: boolean;
                      suppressExcessPropertyErrors?: boolean;
                      suppressImplicitAnyIndexErrors?: boolean;
                      target?: ScriptTarget;
                      traceResolution?: boolean;
                      tsBuildInfoFile?: string;
                      typeRoots?: ((...) | (...))[];
                      types?: ((...) | (...))[];
                      useDefineForClassFields?: boolean;
                      useUnknownInCatchVariables?: boolean;
                      [key: string]:
                          | string
                          | number
                          | boolean
                          | ((...) | (...))[]
                          | ((...) | (...) | (...))[]
                          | { [key: string]: (...) | (...) }
                          | ((...) | (...))[]
                          | ((...) | (...))[]
                          | {
                              _declarationBrand?: any;
                              amdDependencies?: (...) | (...);
                              decorators?: undefined;
                              end?: (...) | (...);
                              endOfFileToken?: (...) | (...);
                              extendedSourceFiles?: (...) | (...);
                              fileName?: (...) | (...);
                              flags?: (...) | (...);
                              forEachChild?: (...) | (...);
                              getChildAt?: (...) | (...);
                              getChildCount?: (...) | (...);
                              getChildren?: (...) | (...);
                              getEnd?: (...) | (...);
                              getFirstToken?: (...) | (...);
                              getFullStart?: (...) | (...);
                              getFullText?: (...) | (...);
                              getFullWidth?: (...) | (...);
                              getLastToken?: (...) | (...);
                              getLeadingTriviaWidth?: (...) | (...);
                              getLineAndCharacterOfPosition?: (...) | (...);
                              getLineEndOfPosition?: (...) | (...);
                              getLineStarts?: (...) | (...);
                              getPositionOfLineAndCharacter?: (...) | (...);
                              getSourceFile?: (...) | (...);
                              getStart?: (...) | (...);
                              getText?: (...) | (...);
                              getWidth?: (...) | (...);
                              hasNoDefaultLib?: (...) | (...) | (...);
                              impliedNodeFormat?: (...) | (...) | (...);
                              isDeclarationFile?: (...) | (...) | (...);
                              kind?: (...) | (...);
                              languageVariant?: (...) | (...);
                              languageVersion?: (...) | (...);
                              libReferenceDirectives?: (...) | (...);
                              modifiers?: (...) | (...);
                              moduleName?: (...) | (...);
                              parent?: (...) | (...);
                              pos?: (...) | (...);
                              referencedFiles?: (...) | (...);
                              statements?: (...) | (...);
                              text?: (...) | (...);
                              typeReferenceDirectives?: (...) | (...);
                              update?: (...) | (...);
                          }
                          | null
                          | undefined;
                  };
                  defaultNumberType?: "number"
                  | "integer";
                  defaultProps?: boolean;
                  esModuleInterop?: boolean;
                  excludePrivate?: boolean;
                  id?: string;
                  ignoreErrors?: boolean;
                  include?: (string | undefined)[];
                  noExtraProps?: boolean;
                  out?: string;
                  propOrder?: boolean;
                  ref?: boolean;
                  rejectDateType?: boolean;
                  required?: boolean;
                  skipLibCheck?: boolean;
                  strictNullChecks?: boolean;
                  titles?: boolean;
                  topRef?: boolean;
                  tsNodeRegister?: boolean;
                  typeOfKeyword?: boolean;
                  uniqueNames?: boolean;
                  validationKeywords?: (string | undefined)[];
              };
          }
          • Optionalasyncapi?: {
                __unstable?: { resolver?: { resolvers?: (...) | (...) } };
                applyTraits?: boolean;
                parseSchemas?: boolean;
                source?: string;
                validateOptions?: {
                    __unstable?: { resolver?: (...) | (...) };
                    allowedSeverity?: {
                        error?: (...) | (...) | (...);
                        hint?: (...) | (...) | (...);
                        info?: (...) | (...) | (...);
                        warning?: (...) | (...) | (...);
                    };
                    ignoreUnknownFormat?: boolean;
                };
            }
          • OptionaljsonSchema?: {
                allowInheritance?: boolean;
                disableCache?: boolean;
                discriminator?: string;
                ignoreAdditionalItems?: boolean;
                ignoreAdditionalProperties?: boolean;
                interpretSingleEnumAsConst?: boolean;
                propertyNameForAdditionalProperties?: string;
            }
            • OptionalallowInheritance?: boolean
            • OptionaldisableCache?: boolean

              This options disables the seenSchemas cache in the Interpreter. Use this option to disable the seenSchemas cache when interpreting schemas. This will affect merging of schemas, and should only be used by the internal interpreters when allowInheritance is set to true. This allows the internal interpreters to keep clean copies of the schemas as CommonModel's.

            • Optionaldiscriminator?: string

              When interpreting a schema with discriminator set, this property will be set best by the individual interpreters to make sure the discriminator becomes an enum.

            • OptionalignoreAdditionalItems?: boolean

              For JSON Schema draft 7, additionalItems are by default true, but it might create an unintended types for arrays.

              Use this option to ignore default additionalItems for models, as long as there is other types sat for the array.

              ONLY use this option if you do not have control over the schema files you use to generate the models from. Instead you should adapt your schemas to be more strict by setting additionalItems: false.

            • OptionalignoreAdditionalProperties?: boolean

              For JSON Schema draft 7, additionalProperties are by default true, but it might create an unintended property for the models.

              Use this option to ignore default additionalProperties for models that has other properties with them.

              ONLY use this option if you do not have control over your schema files. Instead adapt your schemas to be more strict by setting additionalProperties: false.

            • OptionalinterpretSingleEnumAsConst?: boolean

              This option enables that a single enum value {enum: ['test']} is interpreted the same as if the value was {const: 'test'} Use this option to reduce the number of enums being created and use constant values instead.

            • OptionalpropertyNameForAdditionalProperties?: string

              This option changes which property name that should be used to represent additionalProperties in JSON Schema

          • Optionalopenapi?: { includeComponentSchemas?: boolean }
          • Optionaltypescript?: {
                aliasRef?: boolean;
                compilerOptions?: {
                    allowJs?: boolean;
                    allowSyntheticDefaultImports?: boolean;
                    allowUmdGlobalAccess?: boolean;
                    allowUnreachableCode?: boolean;
                    allowUnusedLabels?: boolean;
                    alwaysStrict?: boolean;
                    assumeChangesOnlyAffectDirectDependencies?: boolean;
                    baseUrl?: string;
                    charset?: string;
                    checkJs?: boolean;
                    composite?: boolean;
                    declaration?: boolean;
                    declarationDir?: string;
                    declarationMap?: boolean;
                    disableReferencedProjectLoad?: boolean;
                    disableSizeLimit?: boolean;
                    disableSolutionSearching?: boolean;
                    disableSourceOfProjectReferenceRedirect?: boolean;
                    downlevelIteration?: boolean;
                    emitBOM?: boolean;
                    emitDeclarationOnly?: boolean;
                    emitDecoratorMetadata?: boolean;
                    esModuleInterop?: boolean;
                    exactOptionalPropertyTypes?: boolean;
                    experimentalDecorators?: boolean;
                    forceConsistentCasingInFileNames?: boolean;
                    importHelpers?: boolean;
                    importsNotUsedAsValues?: ImportsNotUsedAsValues;
                    incremental?: boolean;
                    inlineSourceMap?: boolean;
                    inlineSources?: boolean;
                    isolatedModules?: boolean;
                    jsx?: JsxEmit;
                    jsxFactory?: string;
                    jsxFragmentFactory?: string;
                    jsxImportSource?: string;
                    keyofStringsOnly?: boolean;
                    lib?: ((...) | (...))[];
                    locale?: string;
                    mapRoot?: string;
                    maxNodeModuleJsDepth?: number;
                    module?: ModuleKind;
                    moduleDetection?: ModuleDetectionKind;
                    moduleResolution?: ModuleResolutionKind;
                    moduleSuffixes?: ((...) | (...))[];
                    newLine?: NewLineKind;
                    noEmit?: boolean;
                    noEmitHelpers?: boolean;
                    noEmitOnError?: boolean;
                    noErrorTruncation?: boolean;
                    noFallthroughCasesInSwitch?: boolean;
                    noImplicitAny?: boolean;
                    noImplicitOverride?: boolean;
                    noImplicitReturns?: boolean;
                    noImplicitThis?: boolean;
                    noImplicitUseStrict?: boolean;
                    noLib?: boolean;
                    noPropertyAccessFromIndexSignature?: boolean;
                    noResolve?: boolean;
                    noStrictGenericChecks?: boolean;
                    noUncheckedIndexedAccess?: boolean;
                    noUnusedLocals?: boolean;
                    noUnusedParameters?: boolean;
                    out?: string;
                    outDir?: string;
                    outFile?: string;
                    paths?: { [key: string]: (...) | (...) };
                    preserveConstEnums?: boolean;
                    preserveSymlinks?: boolean;
                    preserveValueImports?: boolean;
                    project?: string;
                    reactNamespace?: string;
                    removeComments?: boolean;
                    resolveJsonModule?: boolean;
                    rootDir?: string;
                    rootDirs?: ((...) | (...))[];
                    skipDefaultLibCheck?: boolean;
                    skipLibCheck?: boolean;
                    sourceMap?: boolean;
                    sourceRoot?: string;
                    strict?: boolean;
                    strictBindCallApply?: boolean;
                    strictFunctionTypes?: boolean;
                    strictNullChecks?: boolean;
                    strictPropertyInitialization?: boolean;
                    stripInternal?: boolean;
                    suppressExcessPropertyErrors?: boolean;
                    suppressImplicitAnyIndexErrors?: boolean;
                    target?: ScriptTarget;
                    traceResolution?: boolean;
                    tsBuildInfoFile?: string;
                    typeRoots?: ((...) | (...))[];
                    types?: ((...) | (...))[];
                    useDefineForClassFields?: boolean;
                    useUnknownInCatchVariables?: boolean;
                    [key: string]:
                        | string
                        | number
                        | boolean
                        | ((...) | (...))[]
                        | ((...) | (...) | (...))[]
                        | { [key: string]: (...) | (...) }
                        | ((...) | (...))[]
                        | ((...) | (...))[]
                        | {
                            _declarationBrand?: any;
                            amdDependencies?: (...) | (...);
                            decorators?: undefined;
                            end?: (...) | (...);
                            endOfFileToken?: (...) | (...);
                            extendedSourceFiles?: (...) | (...);
                            fileName?: (...) | (...);
                            flags?: (...) | (...);
                            forEachChild?: (...) | (...);
                            getChildAt?: (...) | (...);
                            getChildCount?: (...) | (...);
                            getChildren?: (...) | (...);
                            getEnd?: (...) | (...);
                            getFirstToken?: (...) | (...);
                            getFullStart?: (...) | (...);
                            getFullText?: (...) | (...);
                            getFullWidth?: (...) | (...);
                            getLastToken?: (...) | (...);
                            getLeadingTriviaWidth?: (...) | (...);
                            getLineAndCharacterOfPosition?: (...) | (...);
                            getLineEndOfPosition?: (...) | (...);
                            getLineStarts?: (...) | (...);
                            getPositionOfLineAndCharacter?: (...) | (...);
                            getSourceFile?: (...) | (...);
                            getStart?: (...) | (...);
                            getText?: (...) | (...);
                            getWidth?: (...) | (...);
                            hasNoDefaultLib?: (...) | (...) | (...);
                            impliedNodeFormat?: (...) | (...) | (...);
                            isDeclarationFile?: (...) | (...) | (...);
                            kind?: (...) | (...);
                            languageVariant?: (...) | (...);
                            languageVersion?: (...) | (...);
                            libReferenceDirectives?: (...) | (...);
                            modifiers?: (...) | (...);
                            moduleName?: (...) | (...);
                            parent?: (...) | (...);
                            pos?: (...) | (...);
                            referencedFiles?: (...) | (...);
                            statements?: (...) | (...);
                            text?: (...) | (...);
                            typeReferenceDirectives?: (...) | (...);
                            update?: (...) | (...);
                        }
                        | null
                        | undefined;
                };
                defaultNumberType?: "number"
                | "integer";
                defaultProps?: boolean;
                esModuleInterop?: boolean;
                excludePrivate?: boolean;
                id?: string;
                ignoreErrors?: boolean;
                include?: (string | undefined)[];
                noExtraProps?: boolean;
                out?: string;
                propOrder?: boolean;
                ref?: boolean;
                rejectDateType?: boolean;
                required?: boolean;
                skipLibCheck?: boolean;
                strictNullChecks?: boolean;
                titles?: boolean;
                topRef?: boolean;
                tsNodeRegister?: boolean;
                typeOfKeyword?: boolean;
                uniqueNames?: boolean;
                validationKeywords?: (string | undefined)[];
            }
            • OptionalaliasRef?: boolean
            • OptionalcompilerOptions?: {
                  allowJs?: boolean;
                  allowSyntheticDefaultImports?: boolean;
                  allowUmdGlobalAccess?: boolean;
                  allowUnreachableCode?: boolean;
                  allowUnusedLabels?: boolean;
                  alwaysStrict?: boolean;
                  assumeChangesOnlyAffectDirectDependencies?: boolean;
                  baseUrl?: string;
                  charset?: string;
                  checkJs?: boolean;
                  composite?: boolean;
                  declaration?: boolean;
                  declarationDir?: string;
                  declarationMap?: boolean;
                  disableReferencedProjectLoad?: boolean;
                  disableSizeLimit?: boolean;
                  disableSolutionSearching?: boolean;
                  disableSourceOfProjectReferenceRedirect?: boolean;
                  downlevelIteration?: boolean;
                  emitBOM?: boolean;
                  emitDeclarationOnly?: boolean;
                  emitDecoratorMetadata?: boolean;
                  esModuleInterop?: boolean;
                  exactOptionalPropertyTypes?: boolean;
                  experimentalDecorators?: boolean;
                  forceConsistentCasingInFileNames?: boolean;
                  importHelpers?: boolean;
                  importsNotUsedAsValues?: ImportsNotUsedAsValues;
                  incremental?: boolean;
                  inlineSourceMap?: boolean;
                  inlineSources?: boolean;
                  isolatedModules?: boolean;
                  jsx?: JsxEmit;
                  jsxFactory?: string;
                  jsxFragmentFactory?: string;
                  jsxImportSource?: string;
                  keyofStringsOnly?: boolean;
                  lib?: ((...) | (...))[];
                  locale?: string;
                  mapRoot?: string;
                  maxNodeModuleJsDepth?: number;
                  module?: ModuleKind;
                  moduleDetection?: ModuleDetectionKind;
                  moduleResolution?: ModuleResolutionKind;
                  moduleSuffixes?: ((...) | (...))[];
                  newLine?: NewLineKind;
                  noEmit?: boolean;
                  noEmitHelpers?: boolean;
                  noEmitOnError?: boolean;
                  noErrorTruncation?: boolean;
                  noFallthroughCasesInSwitch?: boolean;
                  noImplicitAny?: boolean;
                  noImplicitOverride?: boolean;
                  noImplicitReturns?: boolean;
                  noImplicitThis?: boolean;
                  noImplicitUseStrict?: boolean;
                  noLib?: boolean;
                  noPropertyAccessFromIndexSignature?: boolean;
                  noResolve?: boolean;
                  noStrictGenericChecks?: boolean;
                  noUncheckedIndexedAccess?: boolean;
                  noUnusedLocals?: boolean;
                  noUnusedParameters?: boolean;
                  out?: string;
                  outDir?: string;
                  outFile?: string;
                  paths?: { [key: string]: (...) | (...) };
                  preserveConstEnums?: boolean;
                  preserveSymlinks?: boolean;
                  preserveValueImports?: boolean;
                  project?: string;
                  reactNamespace?: string;
                  removeComments?: boolean;
                  resolveJsonModule?: boolean;
                  rootDir?: string;
                  rootDirs?: ((...) | (...))[];
                  skipDefaultLibCheck?: boolean;
                  skipLibCheck?: boolean;
                  sourceMap?: boolean;
                  sourceRoot?: string;
                  strict?: boolean;
                  strictBindCallApply?: boolean;
                  strictFunctionTypes?: boolean;
                  strictNullChecks?: boolean;
                  strictPropertyInitialization?: boolean;
                  stripInternal?: boolean;
                  suppressExcessPropertyErrors?: boolean;
                  suppressImplicitAnyIndexErrors?: boolean;
                  target?: ScriptTarget;
                  traceResolution?: boolean;
                  tsBuildInfoFile?: string;
                  typeRoots?: ((...) | (...))[];
                  types?: ((...) | (...))[];
                  useDefineForClassFields?: boolean;
                  useUnknownInCatchVariables?: boolean;
                  [key: string]:
                      | string
                      | number
                      | boolean
                      | ((...) | (...))[]
                      | ((...) | (...) | (...))[]
                      | { [key: string]: (...) | (...) }
                      | ((...) | (...))[]
                      | ((...) | (...))[]
                      | {
                          _declarationBrand?: any;
                          amdDependencies?: (...) | (...);
                          decorators?: undefined;
                          end?: (...) | (...);
                          endOfFileToken?: (...) | (...);
                          extendedSourceFiles?: (...) | (...);
                          fileName?: (...) | (...);
                          flags?: (...) | (...);
                          forEachChild?: (...) | (...);
                          getChildAt?: (...) | (...);
                          getChildCount?: (...) | (...);
                          getChildren?: (...) | (...);
                          getEnd?: (...) | (...);
                          getFirstToken?: (...) | (...);
                          getFullStart?: (...) | (...);
                          getFullText?: (...) | (...);
                          getFullWidth?: (...) | (...);
                          getLastToken?: (...) | (...);
                          getLeadingTriviaWidth?: (...) | (...);
                          getLineAndCharacterOfPosition?: (...) | (...);
                          getLineEndOfPosition?: (...) | (...);
                          getLineStarts?: (...) | (...);
                          getPositionOfLineAndCharacter?: (...) | (...);
                          getSourceFile?: (...) | (...);
                          getStart?: (...) | (...);
                          getText?: (...) | (...);
                          getWidth?: (...) | (...);
                          hasNoDefaultLib?: (...) | (...) | (...);
                          impliedNodeFormat?: (...) | (...) | (...);
                          isDeclarationFile?: (...) | (...) | (...);
                          kind?: (...) | (...);
                          languageVariant?: (...) | (...);
                          languageVersion?: (...) | (...);
                          libReferenceDirectives?: (...) | (...);
                          modifiers?: (...) | (...);
                          moduleName?: (...) | (...);
                          parent?: (...) | (...);
                          pos?: (...) | (...);
                          referencedFiles?: (...) | (...);
                          statements?: (...) | (...);
                          text?: (...) | (...);
                          typeReferenceDirectives?: (...) | (...);
                          update?: (...) | (...);
                      }
                      | null
                      | undefined;
              }
              • OptionalallowJs?: boolean
              • OptionalallowSyntheticDefaultImports?: boolean
              • OptionalallowUmdGlobalAccess?: boolean
              • OptionalallowUnreachableCode?: boolean
              • OptionalallowUnusedLabels?: boolean
              • OptionalalwaysStrict?: boolean
              • OptionalassumeChangesOnlyAffectDirectDependencies?: boolean
              • OptionalbaseUrl?: string
              • Optionalcharset?: string
              • OptionalcheckJs?: boolean
              • Optionalcomposite?: boolean
              • Optionaldeclaration?: boolean
              • OptionaldeclarationDir?: string
              • OptionaldeclarationMap?: boolean
              • OptionaldisableReferencedProjectLoad?: boolean
              • OptionaldisableSizeLimit?: boolean
              • OptionaldisableSolutionSearching?: boolean
              • OptionaldisableSourceOfProjectReferenceRedirect?: boolean
              • OptionaldownlevelIteration?: boolean
              • OptionalemitBOM?: boolean
              • OptionalemitDeclarationOnly?: boolean
              • OptionalemitDecoratorMetadata?: boolean
              • OptionalesModuleInterop?: boolean
              • OptionalexactOptionalPropertyTypes?: boolean
              • OptionalexperimentalDecorators?: boolean
              • OptionalforceConsistentCasingInFileNames?: boolean
              • OptionalimportHelpers?: boolean
              • OptionalimportsNotUsedAsValues?: ImportsNotUsedAsValues
              • Optionalincremental?: boolean
              • OptionalinlineSourceMap?: boolean
              • OptionalinlineSources?: boolean
              • OptionalisolatedModules?: boolean
              • Optionaljsx?: JsxEmit
              • OptionaljsxFactory?: string
              • OptionaljsxFragmentFactory?: string
              • OptionaljsxImportSource?: string
              • OptionalkeyofStringsOnly?: boolean
              • Optionallib?: ((...) | (...))[]
              • Optionallocale?: string
              • OptionalmapRoot?: string
              • OptionalmaxNodeModuleJsDepth?: number
              • Optionalmodule?: ModuleKind
              • OptionalmoduleDetection?: ModuleDetectionKind
              • OptionalmoduleResolution?: ModuleResolutionKind
              • OptionalmoduleSuffixes?: ((...) | (...))[]
              • OptionalnewLine?: NewLineKind
              • OptionalnoEmit?: boolean
              • OptionalnoEmitHelpers?: boolean
              • OptionalnoEmitOnError?: boolean
              • OptionalnoErrorTruncation?: boolean
              • OptionalnoFallthroughCasesInSwitch?: boolean
              • OptionalnoImplicitAny?: boolean
              • OptionalnoImplicitOverride?: boolean
              • OptionalnoImplicitReturns?: boolean
              • OptionalnoImplicitThis?: boolean
              • OptionalnoImplicitUseStrict?: boolean
              • OptionalnoLib?: boolean
              • OptionalnoPropertyAccessFromIndexSignature?: boolean
              • OptionalnoResolve?: boolean
              • OptionalnoStrictGenericChecks?: boolean
              • OptionalnoUncheckedIndexedAccess?: boolean
              • OptionalnoUnusedLocals?: boolean
              • OptionalnoUnusedParameters?: boolean
              • Optionalout?: string
              • OptionaloutDir?: string
              • OptionaloutFile?: string
              • Optionalpaths?: { [key: string]: (...) | (...) }
              • OptionalpreserveConstEnums?: boolean
              • OptionalpreserveSymlinks?: boolean
              • OptionalpreserveValueImports?: boolean
              • Optionalproject?: string
              • OptionalreactNamespace?: string
              • OptionalremoveComments?: boolean
              • OptionalresolveJsonModule?: boolean
              • OptionalrootDir?: string
              • OptionalrootDirs?: ((...) | (...))[]
              • OptionalskipDefaultLibCheck?: boolean
              • OptionalskipLibCheck?: boolean
              • OptionalsourceMap?: boolean
              • OptionalsourceRoot?: string
              • Optionalstrict?: boolean
              • OptionalstrictBindCallApply?: boolean
              • OptionalstrictFunctionTypes?: boolean
              • OptionalstrictNullChecks?: boolean
              • OptionalstrictPropertyInitialization?: boolean
              • OptionalstripInternal?: boolean
              • OptionalsuppressExcessPropertyErrors?: boolean
              • OptionalsuppressImplicitAnyIndexErrors?: boolean
              • Optionaltarget?: ScriptTarget
              • OptionaltraceResolution?: boolean
              • OptionaltsBuildInfoFile?: string
              • OptionaltypeRoots?: ((...) | (...))[]

                Paths used to compute primary types search locations

              • Optionaltypes?: ((...) | (...))[]
              • OptionaluseDefineForClassFields?: boolean
              • OptionaluseUnknownInCatchVariables?: boolean
            • OptionaldefaultNumberType?: "number" | "integer"
            • OptionaldefaultProps?: boolean
            • OptionalesModuleInterop?: boolean
            • OptionalexcludePrivate?: boolean
            • Optionalid?: string
            • OptionalignoreErrors?: boolean
            • Optionalinclude?: (string | undefined)[]
            • OptionalnoExtraProps?: boolean
            • Optionalout?: string
            • OptionalpropOrder?: boolean
            • Optionalref?: boolean
            • OptionalrejectDateType?: boolean
            • Optionalrequired?: boolean
            • OptionalskipLibCheck?: boolean
            • OptionalstrictNullChecks?: boolean
            • Optionaltitles?: boolean
            • OptionaltopRef?: boolean
            • OptionaltsNodeRegister?: boolean
            • OptionaltypeOfKeyword?: boolean
            • OptionaluniqueNames?: boolean
            • OptionalvalidationKeywords?: (string | undefined)[]
        • OptionaltypeMapping?: {
              Any?: TypeMappingFunction<
                  ConstrainedAnyModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Array?: TypeMappingFunction<
                  ConstrainedArrayModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Boolean?: TypeMappingFunction<
                  ConstrainedBooleanModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Dictionary?: TypeMappingFunction<
                  ConstrainedDictionaryModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Enum?: TypeMappingFunction<
                  ConstrainedEnumModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Float?: TypeMappingFunction<
                  ConstrainedFloatModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Integer?: TypeMappingFunction<
                  ConstrainedIntegerModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Object?: TypeMappingFunction<
                  ConstrainedObjectModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Reference?: TypeMappingFunction<
                  ConstrainedReferenceModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              String?: TypeMappingFunction<
                  ConstrainedStringModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Tuple?: TypeMappingFunction<
                  ConstrainedTupleModel,
                  GoOptions,
                  GoDependencyManager,
              >;
              Union?: TypeMappingFunction<
                  ConstrainedUnionModel,
                  GoOptions,
                  GoDependencyManager,
              >;
          }
        • OptionalunionAnyModelName?: string
        • OptionalunionArrModelName?: string
        • OptionalunionDictModelName?: string

      Returns GoOptions