Class RustGenerator

Generator for Rust

Hierarchy (view full)

Constructors

  • Parameters

    • Optional options: {
          constraints?: {
              constant?: ConstantConstraint<RustOptions>;
              enumKey?: EnumKeyConstraint<RustOptions>;
              enumValue?: EnumValueConstraint<RustOptions>;
              modelName?: ModelNameConstraint<RustOptions>;
              propertyKey?: PropertyKeyConstraint<RustOptions>;
          };
          defaultPreset?: {
              enum?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  item?: ((args) => string);
                  itemMacro?: ((args) => string);
                  self?: ((args) => string | Promise<string>);
                  structMacro?: ((args) => string | Promise<string>);
              };
              newType?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  field?: ((args) => string | Promise<string>);
                  self?: ((args) => string | Promise<string>);
                  structMacro?: ((args) => string | Promise<string>);
              };
              package?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  lib?: ((args) => string);
                  manifest?: ((args) => string);
                  self?: ((args) => string | Promise<string>);
              };
              struct?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  field?: ((args) => string | Promise<string>);
                  fieldMacro?: ((args) => string | Promise<string>);
                  self?: ((args) => string | Promise<string>);
                  structMacro?: ((args) => string | Promise<string>);
              };
              tuple?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  field?: ((args) => string | Promise<string>);
                  self?: ((args) => string | Promise<string>);
                  structMacro?: ((args) => string | Promise<string>);
              };
              union?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  item?: ((args) => string);
                  itemMacro?: ((args) => string);
                  self?: ((args) => string | Promise<string>);
                  structMacro?: ((args) => string | Promise<string>);
              };
          };
          dependencyManager?: (() => AbstractDependencyManager) | {
              dependencies?: (undefined | string)[];
              addDependency?(dependency): void;
          };
          indentation?: {
              size?: number;
              type?: IndentationTypes;
          };
          presets?: (undefined | {
              enum?: {
                  additionalContent?: ((args) => (...) | (...));
                  item?: ((args) => string);
                  itemMacro?: ((args) => string);
                  self?: ((args) => (...) | (...));
                  structMacro?: ((args) => (...) | (...));
              };
              newType?: {
                  additionalContent?: ((args) => (...) | (...));
                  field?: ((args) => (...) | (...));
                  self?: ((args) => (...) | (...));
                  structMacro?: ((args) => (...) | (...));
              };
              package?: {
                  additionalContent?: ((args) => (...) | (...));
                  lib?: ((args) => string);
                  manifest?: ((args) => string);
                  self?: ((args) => (...) | (...));
              };
              struct?: {
                  additionalContent?: ((args) => (...) | (...));
                  field?: ((args) => (...) | (...));
                  fieldMacro?: ((args) => (...) | (...));
                  self?: ((args) => (...) | (...));
                  structMacro?: ((args) => (...) | (...));
              };
              tuple?: {
                  additionalContent?: ((args) => (...) | (...));
                  field?: ((args) => (...) | (...));
                  self?: ((args) => (...) | (...));
                  structMacro?: ((args) => (...) | (...));
              };
              union?: {
                  additionalContent?: ((args) => (...) | (...));
                  item?: ((args) => string);
                  itemMacro?: ((args) => string);
                  self?: ((args) => (...) | (...));
                  structMacro?: ((args) => (...) | (...));
              };
          } | {
              options?: any;
              preset?: {
                  enum?: {
                      additionalContent?: (...) | (...);
                      item?: (...) | (...);
                      itemMacro?: (...) | (...);
                      self?: (...) | (...);
                      structMacro?: (...) | (...);
                  };
                  newType?: {
                      additionalContent?: (...) | (...);
                      field?: (...) | (...);
                      self?: (...) | (...);
                      structMacro?: (...) | (...);
                  };
                  package?: {
                      additionalContent?: (...) | (...);
                      lib?: (...) | (...);
                      manifest?: (...) | (...);
                      self?: (...) | (...);
                  };
                  struct?: {
                      additionalContent?: (...) | (...);
                      field?: (...) | (...);
                      fieldMacro?: (...) | (...);
                      self?: (...) | (...);
                      structMacro?: (...) | (...);
                  };
                  tuple?: {
                      additionalContent?: (...) | (...);
                      field?: (...) | (...);
                      self?: (...) | (...);
                      structMacro?: (...) | (...);
                  };
                  union?: {
                      additionalContent?: (...) | (...);
                      item?: (...) | (...);
                      itemMacro?: (...) | (...);
                      self?: (...) | (...);
                      structMacro?: (...) | (...);
                  };
              };
          })[];
          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?: {};
                      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;
                  };
                  defaultNumberType?: "number" | "integer";
                  defaultProps?: boolean;
                  esModuleInterop?: boolean;
                  excludePrivate?: boolean;
                  id?: string;
                  ignoreErrors?: boolean;
                  include?: (undefined | string)[];
                  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?: (undefined | string)[];
              };
          };
          typeMapping?: {
              Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
              Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
              Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
              Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
              Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
              Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
              Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
              Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
              Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
              String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
              Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
              Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
          };
      }
      • Optional constraints?: {
            constant?: ConstantConstraint<RustOptions>;
            enumKey?: EnumKeyConstraint<RustOptions>;
            enumValue?: EnumValueConstraint<RustOptions>;
            modelName?: ModelNameConstraint<RustOptions>;
            propertyKey?: PropertyKeyConstraint<RustOptions>;
        }
      • Optional defaultPreset?: {
            enum?: {
                additionalContent?: ((args) => string | Promise<string>);
                item?: ((args) => string);
                itemMacro?: ((args) => string);
                self?: ((args) => string | Promise<string>);
                structMacro?: ((args) => string | Promise<string>);
            };
            newType?: {
                additionalContent?: ((args) => string | Promise<string>);
                field?: ((args) => string | Promise<string>);
                self?: ((args) => string | Promise<string>);
                structMacro?: ((args) => string | Promise<string>);
            };
            package?: {
                additionalContent?: ((args) => string | Promise<string>);
                lib?: ((args) => string);
                manifest?: ((args) => string);
                self?: ((args) => string | Promise<string>);
            };
            struct?: {
                additionalContent?: ((args) => string | Promise<string>);
                field?: ((args) => string | Promise<string>);
                fieldMacro?: ((args) => string | Promise<string>);
                self?: ((args) => string | Promise<string>);
                structMacro?: ((args) => string | Promise<string>);
            };
            tuple?: {
                additionalContent?: ((args) => string | Promise<string>);
                field?: ((args) => string | Promise<string>);
                self?: ((args) => string | Promise<string>);
                structMacro?: ((args) => string | Promise<string>);
            };
            union?: {
                additionalContent?: ((args) => string | Promise<string>);
                item?: ((args) => string);
                itemMacro?: ((args) => string);
                self?: ((args) => string | Promise<string>);
                structMacro?: ((args) => string | Promise<string>);
            };
        }
        • Optional enum?: {
              additionalContent?: ((args) => string | Promise<string>);
              item?: ((args) => string);
              itemMacro?: ((args) => string);
              self?: ((args) => string | Promise<string>);
              structMacro?: ((args) => string | Promise<string>);
          }
          • Optional additionalContent?: ((args) => string | Promise<string>)
          • Optional item?: ((args) => string)
          • Optional itemMacro?: ((args) => string)
          • Optional self?: ((args) => string | Promise<string>)
          • Optional structMacro?: ((args) => string | Promise<string>)
        • Optional newType?: {
              additionalContent?: ((args) => string | Promise<string>);
              field?: ((args) => string | Promise<string>);
              self?: ((args) => string | Promise<string>);
              structMacro?: ((args) => string | Promise<string>);
          }
          • Optional additionalContent?: ((args) => string | Promise<string>)
          • Optional field?: ((args) => string | Promise<string>)
          • Optional self?: ((args) => string | Promise<string>)
          • Optional structMacro?: ((args) => string | Promise<string>)
        • Optional package?: {
              additionalContent?: ((args) => string | Promise<string>);
              lib?: ((args) => string);
              manifest?: ((args) => string);
              self?: ((args) => string | Promise<string>);
          }
          • Optional additionalContent?: ((args) => string | Promise<string>)
          • Optional lib?: ((args) => string)
          • Optional manifest?: ((args) => string)
          • Optional self?: ((args) => string | Promise<string>)
        • Optional struct?: {
              additionalContent?: ((args) => string | Promise<string>);
              field?: ((args) => string | Promise<string>);
              fieldMacro?: ((args) => string | Promise<string>);
              self?: ((args) => string | Promise<string>);
              structMacro?: ((args) => string | Promise<string>);
          }
          • Optional additionalContent?: ((args) => string | Promise<string>)
          • Optional field?: ((args) => string | Promise<string>)
          • Optional fieldMacro?: ((args) => string | Promise<string>)
          • Optional self?: ((args) => string | Promise<string>)
          • Optional structMacro?: ((args) => string | Promise<string>)
        • Optional tuple?: {
              additionalContent?: ((args) => string | Promise<string>);
              field?: ((args) => string | Promise<string>);
              self?: ((args) => string | Promise<string>);
              structMacro?: ((args) => string | Promise<string>);
          }
          • Optional additionalContent?: ((args) => string | Promise<string>)
          • Optional field?: ((args) => string | Promise<string>)
          • Optional self?: ((args) => string | Promise<string>)
          • Optional structMacro?: ((args) => string | Promise<string>)
        • Optional union?: {
              additionalContent?: ((args) => string | Promise<string>);
              item?: ((args) => string);
              itemMacro?: ((args) => string);
              self?: ((args) => string | Promise<string>);
              structMacro?: ((args) => string | Promise<string>);
          }
          • Optional additionalContent?: ((args) => string | Promise<string>)
          • Optional item?: ((args) => string)
          • Optional itemMacro?: ((args) => string)
          • Optional self?: ((args) => string | Promise<string>)
          • Optional structMacro?: ((args) => string | Promise<string>)
      • Optional dependencyManager?: (() => AbstractDependencyManager) | {
            dependencies?: (undefined | string)[];
            addDependency?(dependency): void;
        }

        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.

      • Optional indentation?: {
            size?: number;
            type?: IndentationTypes;
        }
      • Optional presets?: (undefined | {
            enum?: {
                additionalContent?: ((args) => (...) | (...));
                item?: ((args) => string);
                itemMacro?: ((args) => string);
                self?: ((args) => (...) | (...));
                structMacro?: ((args) => (...) | (...));
            };
            newType?: {
                additionalContent?: ((args) => (...) | (...));
                field?: ((args) => (...) | (...));
                self?: ((args) => (...) | (...));
                structMacro?: ((args) => (...) | (...));
            };
            package?: {
                additionalContent?: ((args) => (...) | (...));
                lib?: ((args) => string);
                manifest?: ((args) => string);
                self?: ((args) => (...) | (...));
            };
            struct?: {
                additionalContent?: ((args) => (...) | (...));
                field?: ((args) => (...) | (...));
                fieldMacro?: ((args) => (...) | (...));
                self?: ((args) => (...) | (...));
                structMacro?: ((args) => (...) | (...));
            };
            tuple?: {
                additionalContent?: ((args) => (...) | (...));
                field?: ((args) => (...) | (...));
                self?: ((args) => (...) | (...));
                structMacro?: ((args) => (...) | (...));
            };
            union?: {
                additionalContent?: ((args) => (...) | (...));
                item?: ((args) => string);
                itemMacro?: ((args) => string);
                self?: ((args) => (...) | (...));
                structMacro?: ((args) => (...) | (...));
            };
        } | {
            options?: any;
            preset?: {
                enum?: {
                    additionalContent?: (...) | (...);
                    item?: (...) | (...);
                    itemMacro?: (...) | (...);
                    self?: (...) | (...);
                    structMacro?: (...) | (...);
                };
                newType?: {
                    additionalContent?: (...) | (...);
                    field?: (...) | (...);
                    self?: (...) | (...);
                    structMacro?: (...) | (...);
                };
                package?: {
                    additionalContent?: (...) | (...);
                    lib?: (...) | (...);
                    manifest?: (...) | (...);
                    self?: (...) | (...);
                };
                struct?: {
                    additionalContent?: (...) | (...);
                    field?: (...) | (...);
                    fieldMacro?: (...) | (...);
                    self?: (...) | (...);
                    structMacro?: (...) | (...);
                };
                tuple?: {
                    additionalContent?: (...) | (...);
                    field?: (...) | (...);
                    self?: (...) | (...);
                    structMacro?: (...) | (...);
                };
                union?: {
                    additionalContent?: (...) | (...);
                    item?: (...) | (...);
                    itemMacro?: (...) | (...);
                    self?: (...) | (...);
                    structMacro?: (...) | (...);
                };
            };
        })[]
      • Optional 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?: {};
                    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;
                };
                defaultNumberType?: "number" | "integer";
                defaultProps?: boolean;
                esModuleInterop?: boolean;
                excludePrivate?: boolean;
                id?: string;
                ignoreErrors?: boolean;
                include?: (undefined | string)[];
                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?: (undefined | string)[];
            };
        }
        • Optional asyncapi?: {
              __unstable?: {
                  resolver?: {
                      resolvers?: (...) | (...);
                  };
              };
              applyTraits?: boolean;
              parseSchemas?: boolean;
              source?: string;
              validateOptions?: {
                  __unstable?: {
                      resolver?: (...) | (...);
                  };
                  allowedSeverity?: {
                      error?: (...) | (...) | (...);
                      hint?: (...) | (...) | (...);
                      info?: (...) | (...) | (...);
                      warning?: (...) | (...) | (...);
                  };
                  ignoreUnknownFormat?: boolean;
              };
          }
          • Optional __unstable?: {
                resolver?: {
                    resolvers?: (...) | (...);
                };
            }
            • Optional resolver?: {
                  resolvers?: (...) | (...);
              }
              • Optional resolvers?: (...) | (...)
          • Optional applyTraits?: boolean
          • Optional parseSchemas?: boolean
          • Optional source?: string
          • Optional validateOptions?: {
                __unstable?: {
                    resolver?: (...) | (...);
                };
                allowedSeverity?: {
                    error?: (...) | (...) | (...);
                    hint?: (...) | (...) | (...);
                    info?: (...) | (...) | (...);
                    warning?: (...) | (...) | (...);
                };
                ignoreUnknownFormat?: boolean;
            }
            • Optional __unstable?: {
                  resolver?: (...) | (...);
              }
              • Optional resolver?: (...) | (...)
            • Optional allowedSeverity?: {
                  error?: (...) | (...) | (...);
                  hint?: (...) | (...) | (...);
                  info?: (...) | (...) | (...);
                  warning?: (...) | (...) | (...);
              }
              • Optional error?: (...) | (...) | (...)
              • Optional hint?: (...) | (...) | (...)
              • Optional info?: (...) | (...) | (...)
              • Optional warning?: (...) | (...) | (...)
            • Optional ignoreUnknownFormat?: boolean
        • Optional jsonSchema?: {
              allowInheritance?: boolean;
              disableCache?: boolean;
              discriminator?: string;
              ignoreAdditionalItems?: boolean;
              ignoreAdditionalProperties?: boolean;
              interpretSingleEnumAsConst?: boolean;
              propertyNameForAdditionalProperties?: string;
          }
          • Optional allowInheritance?: boolean
          • Optional disableCache?: 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.

          • Optional discriminator?: 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.

          • Optional ignoreAdditionalItems?: 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.

          • Optional ignoreAdditionalProperties?: 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.

          • Optional interpretSingleEnumAsConst?: 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.

          • Optional propertyNameForAdditionalProperties?: string

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

        • Optional openapi?: {
              includeComponentSchemas?: boolean;
          }
          • Optional includeComponentSchemas?: boolean
        • Optional 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?: {};
                  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;
              };
              defaultNumberType?: "number" | "integer";
              defaultProps?: boolean;
              esModuleInterop?: boolean;
              excludePrivate?: boolean;
              id?: string;
              ignoreErrors?: boolean;
              include?: (undefined | string)[];
              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?: (undefined | string)[];
          }
          • Optional aliasRef?: boolean
          • Optional 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?: {};
                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;
            }
            • Optional allowJs?: boolean
            • Optional allowSyntheticDefaultImports?: boolean
            • Optional allowUmdGlobalAccess?: boolean
            • Optional allowUnreachableCode?: boolean
            • Optional allowUnusedLabels?: boolean
            • Optional alwaysStrict?: boolean
            • Optional assumeChangesOnlyAffectDirectDependencies?: boolean
            • Optional baseUrl?: string
            • Optional charset?: string
            • Optional checkJs?: boolean
            • Optional composite?: boolean
            • Optional declaration?: boolean
            • Optional declarationDir?: string
            • Optional declarationMap?: boolean
            • Optional disableReferencedProjectLoad?: boolean
            • Optional disableSizeLimit?: boolean
            • Optional disableSolutionSearching?: boolean
            • Optional disableSourceOfProjectReferenceRedirect?: boolean
            • Optional downlevelIteration?: boolean
            • Optional emitBOM?: boolean
            • Optional emitDeclarationOnly?: boolean
            • Optional emitDecoratorMetadata?: boolean
            • Optional esModuleInterop?: boolean
            • Optional exactOptionalPropertyTypes?: boolean
            • Optional experimentalDecorators?: boolean
            • Optional forceConsistentCasingInFileNames?: boolean
            • Optional importHelpers?: boolean
            • Optional importsNotUsedAsValues?: ImportsNotUsedAsValues
            • Optional incremental?: boolean
            • Optional inlineSourceMap?: boolean
            • Optional inlineSources?: boolean
            • Optional isolatedModules?: boolean
            • Optional jsx?: JsxEmit
            • Optional jsxFactory?: string
            • Optional jsxFragmentFactory?: string
            • Optional jsxImportSource?: string
            • Optional keyofStringsOnly?: boolean
            • Optional lib?: ((...) | (...))[]
            • Optional locale?: string
            • Optional mapRoot?: string
            • Optional maxNodeModuleJsDepth?: number
            • Optional module?: ModuleKind
            • Optional moduleDetection?: ModuleDetectionKind
            • Optional moduleResolution?: ModuleResolutionKind
            • Optional moduleSuffixes?: ((...) | (...))[]
            • Optional newLine?: NewLineKind
            • Optional noEmit?: boolean
            • Optional noEmitHelpers?: boolean
            • Optional noEmitOnError?: boolean
            • Optional noErrorTruncation?: boolean
            • Optional noFallthroughCasesInSwitch?: boolean
            • Optional noImplicitAny?: boolean
            • Optional noImplicitOverride?: boolean
            • Optional noImplicitReturns?: boolean
            • Optional noImplicitThis?: boolean
            • Optional noImplicitUseStrict?: boolean
            • Optional noLib?: boolean
            • Optional noPropertyAccessFromIndexSignature?: boolean
            • Optional noResolve?: boolean
            • Optional noStrictGenericChecks?: boolean
            • Optional noUncheckedIndexedAccess?: boolean
            • Optional noUnusedLocals?: boolean
            • Optional noUnusedParameters?: boolean
            • Optional out?: string
            • Optional outDir?: string
            • Optional outFile?: string
            • Optional paths?: {}
              • Optional preserveConstEnums?: boolean
              • Optional preserveSymlinks?: boolean
              • Optional preserveValueImports?: boolean
              • Optional project?: string
              • Optional reactNamespace?: string
              • Optional removeComments?: boolean
              • Optional resolveJsonModule?: boolean
              • Optional rootDir?: string
              • Optional rootDirs?: ((...) | (...))[]
              • Optional skipDefaultLibCheck?: boolean
              • Optional skipLibCheck?: boolean
              • Optional sourceMap?: boolean
              • Optional sourceRoot?: string
              • Optional strict?: boolean
              • Optional strictBindCallApply?: boolean
              • Optional strictFunctionTypes?: boolean
              • Optional strictNullChecks?: boolean
              • Optional strictPropertyInitialization?: boolean
              • Optional stripInternal?: boolean
              • Optional suppressExcessPropertyErrors?: boolean
              • Optional suppressImplicitAnyIndexErrors?: boolean
              • Optional target?: ScriptTarget
              • Optional traceResolution?: boolean
              • Optional tsBuildInfoFile?: string
              • Optional typeRoots?: ((...) | (...))[]

                Paths used to compute primary types search locations

              • Optional types?: ((...) | (...))[]
              • Optional useDefineForClassFields?: boolean
              • Optional useUnknownInCatchVariables?: boolean
            • Optional defaultNumberType?: "number" | "integer"
            • Optional defaultProps?: boolean
            • Optional esModuleInterop?: boolean
            • Optional excludePrivate?: boolean
            • Optional id?: string
            • Optional ignoreErrors?: boolean
            • Optional include?: (undefined | string)[]
            • Optional noExtraProps?: boolean
            • Optional out?: string
            • Optional propOrder?: boolean
            • Optional ref?: boolean
            • Optional rejectDateType?: boolean
            • Optional required?: boolean
            • Optional skipLibCheck?: boolean
            • Optional strictNullChecks?: boolean
            • Optional titles?: boolean
            • Optional topRef?: boolean
            • Optional tsNodeRegister?: boolean
            • Optional typeOfKeyword?: boolean
            • Optional uniqueNames?: boolean
            • Optional validationKeywords?: (undefined | string)[]
        • Optional typeMapping?: {
              Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
              Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
              Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
              Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
              Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
              Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
              Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
              Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
              Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
              String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
              Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
              Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
          }

      Returns RustGenerator

    Properties

    languageName: string
    options: RustOptions
    defaultOptions: RustOptions = ...

    Methods

    • Parameters

      • model: MetaModel
      • options: {
            constraints?: {
                constant?: ConstantConstraint<RustOptions>;
                enumKey?: EnumKeyConstraint<RustOptions>;
                enumValue?: EnumValueConstraint<RustOptions>;
                modelName?: ModelNameConstraint<RustOptions>;
                propertyKey?: PropertyKeyConstraint<RustOptions>;
            };
            defaultPreset?: {
                enum?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    item?: ((args) => string);
                    itemMacro?: ((args) => string);
                    self?: ((args) => string | Promise<string>);
                    structMacro?: ((args) => string | Promise<string>);
                };
                newType?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    field?: ((args) => string | Promise<string>);
                    self?: ((args) => string | Promise<string>);
                    structMacro?: ((args) => string | Promise<string>);
                };
                package?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    lib?: ((args) => string);
                    manifest?: ((args) => string);
                    self?: ((args) => string | Promise<string>);
                };
                struct?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    field?: ((args) => string | Promise<string>);
                    fieldMacro?: ((args) => string | Promise<string>);
                    self?: ((args) => string | Promise<string>);
                    structMacro?: ((args) => string | Promise<string>);
                };
                tuple?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    field?: ((args) => string | Promise<string>);
                    self?: ((args) => string | Promise<string>);
                    structMacro?: ((args) => string | Promise<string>);
                };
                union?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    item?: ((args) => string);
                    itemMacro?: ((args) => string);
                    self?: ((args) => string | Promise<string>);
                    structMacro?: ((args) => string | Promise<string>);
                };
            };
            dependencyManager?: (() => AbstractDependencyManager) | {
                dependencies?: (undefined | string)[];
                addDependency?(dependency): void;
            };
            indentation?: {
                size?: number;
                type?: IndentationTypes;
            };
            presets?: (undefined | {
                enum?: {
                    additionalContent?: ((args) => string | Promise<(...)>);
                    item?: ((args) => string);
                    itemMacro?: ((args) => string);
                    self?: ((args) => string | Promise<(...)>);
                    structMacro?: ((args) => string | Promise<(...)>);
                };
                newType?: {
                    additionalContent?: ((args) => string | Promise<(...)>);
                    field?: ((args) => string | Promise<(...)>);
                    self?: ((args) => string | Promise<(...)>);
                    structMacro?: ((args) => string | Promise<(...)>);
                };
                package?: {
                    additionalContent?: ((args) => string | Promise<(...)>);
                    lib?: ((args) => string);
                    manifest?: ((args) => string);
                    self?: ((args) => string | Promise<(...)>);
                };
                struct?: {
                    additionalContent?: ((args) => string | Promise<(...)>);
                    field?: ((args) => string | Promise<(...)>);
                    fieldMacro?: ((args) => string | Promise<(...)>);
                    self?: ((args) => string | Promise<(...)>);
                    structMacro?: ((args) => string | Promise<(...)>);
                };
                tuple?: {
                    additionalContent?: ((args) => string | Promise<(...)>);
                    field?: ((args) => string | Promise<(...)>);
                    self?: ((args) => string | Promise<(...)>);
                    structMacro?: ((args) => string | Promise<(...)>);
                };
                union?: {
                    additionalContent?: ((args) => string | Promise<(...)>);
                    item?: ((args) => string);
                    itemMacro?: ((args) => string);
                    self?: ((args) => string | Promise<(...)>);
                    structMacro?: ((args) => string | Promise<(...)>);
                };
            } | {
                options?: any;
                preset?: {
                    enum?: {
                        additionalContent?: ((args) => ...);
                        item?: ((args) => ...);
                        itemMacro?: ((args) => ...);
                        self?: ((args) => ...);
                        structMacro?: ((args) => ...);
                    };
                    newType?: {
                        additionalContent?: ((args) => ...);
                        field?: ((args) => ...);
                        self?: ((args) => ...);
                        structMacro?: ((args) => ...);
                    };
                    package?: {
                        additionalContent?: ((args) => ...);
                        lib?: ((args) => ...);
                        manifest?: ((args) => ...);
                        self?: ((args) => ...);
                    };
                    struct?: {
                        additionalContent?: ((args) => ...);
                        field?: ((args) => ...);
                        fieldMacro?: ((args) => ...);
                        self?: ((args) => ...);
                        structMacro?: ((args) => ...);
                    };
                    tuple?: {
                        additionalContent?: ((args) => ...);
                        field?: ((args) => ...);
                        self?: ((args) => ...);
                        structMacro?: ((args) => ...);
                    };
                    union?: {
                        additionalContent?: ((args) => ...);
                        item?: ((args) => ...);
                        itemMacro?: ((args) => ...);
                        self?: ((args) => ...);
                        structMacro?: ((args) => ...);
                    };
                };
            })[];
            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?: (undefined | string)[];
                        locale?: string;
                        mapRoot?: string;
                        maxNodeModuleJsDepth?: number;
                        module?: ModuleKind;
                        moduleDetection?: ModuleDetectionKind;
                        moduleResolution?: ModuleResolutionKind;
                        moduleSuffixes?: (undefined | string)[];
                        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?: {};
                        preserveConstEnums?: boolean;
                        preserveSymlinks?: boolean;
                        preserveValueImports?: boolean;
                        project?: string;
                        reactNamespace?: string;
                        removeComments?: boolean;
                        resolveJsonModule?: boolean;
                        rootDir?: string;
                        rootDirs?: (undefined | string)[];
                        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?: (undefined | string)[];
                        types?: (undefined | string)[];
                        useDefineForClassFields?: boolean;
                        useUnknownInCatchVariables?: boolean;
                    };
                    defaultNumberType?: "number" | "integer";
                    defaultProps?: boolean;
                    esModuleInterop?: boolean;
                    excludePrivate?: boolean;
                    id?: string;
                    ignoreErrors?: boolean;
                    include?: (undefined | string)[];
                    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?: (undefined | string)[];
                };
            };
            typeMapping?: {
                Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
                Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
                Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
                Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
                Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
                Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
                Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
                Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
                Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
                String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
                Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
                Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
            };
        }
        • Optional constraints?: {
              constant?: ConstantConstraint<RustOptions>;
              enumKey?: EnumKeyConstraint<RustOptions>;
              enumValue?: EnumValueConstraint<RustOptions>;
              modelName?: ModelNameConstraint<RustOptions>;
              propertyKey?: PropertyKeyConstraint<RustOptions>;
          }
        • Optional defaultPreset?: {
              enum?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  item?: ((args) => string);
                  itemMacro?: ((args) => string);
                  self?: ((args) => string | Promise<string>);
                  structMacro?: ((args) => string | Promise<string>);
              };
              newType?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  field?: ((args) => string | Promise<string>);
                  self?: ((args) => string | Promise<string>);
                  structMacro?: ((args) => string | Promise<string>);
              };
              package?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  lib?: ((args) => string);
                  manifest?: ((args) => string);
                  self?: ((args) => string | Promise<string>);
              };
              struct?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  field?: ((args) => string | Promise<string>);
                  fieldMacro?: ((args) => string | Promise<string>);
                  self?: ((args) => string | Promise<string>);
                  structMacro?: ((args) => string | Promise<string>);
              };
              tuple?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  field?: ((args) => string | Promise<string>);
                  self?: ((args) => string | Promise<string>);
                  structMacro?: ((args) => string | Promise<string>);
              };
              union?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  item?: ((args) => string);
                  itemMacro?: ((args) => string);
                  self?: ((args) => string | Promise<string>);
                  structMacro?: ((args) => string | Promise<string>);
              };
          }
          • Optional enum?: {
                additionalContent?: ((args) => string | Promise<string>);
                item?: ((args) => string);
                itemMacro?: ((args) => string);
                self?: ((args) => string | Promise<string>);
                structMacro?: ((args) => string | Promise<string>);
            }
            • Optional additionalContent?: ((args) => string | Promise<string>)
            • Optional item?: ((args) => string)
            • Optional itemMacro?: ((args) => string)
            • Optional self?: ((args) => string | Promise<string>)
            • Optional structMacro?: ((args) => string | Promise<string>)
          • Optional newType?: {
                additionalContent?: ((args) => string | Promise<string>);
                field?: ((args) => string | Promise<string>);
                self?: ((args) => string | Promise<string>);
                structMacro?: ((args) => string | Promise<string>);
            }
            • Optional additionalContent?: ((args) => string | Promise<string>)
            • Optional field?: ((args) => string | Promise<string>)
            • Optional self?: ((args) => string | Promise<string>)
            • Optional structMacro?: ((args) => string | Promise<string>)
          • Optional package?: {
                additionalContent?: ((args) => string | Promise<string>);
                lib?: ((args) => string);
                manifest?: ((args) => string);
                self?: ((args) => string | Promise<string>);
            }
            • Optional additionalContent?: ((args) => string | Promise<string>)
            • Optional lib?: ((args) => string)
            • Optional manifest?: ((args) => string)
            • Optional self?: ((args) => string | Promise<string>)
          • Optional struct?: {
                additionalContent?: ((args) => string | Promise<string>);
                field?: ((args) => string | Promise<string>);
                fieldMacro?: ((args) => string | Promise<string>);
                self?: ((args) => string | Promise<string>);
                structMacro?: ((args) => string | Promise<string>);
            }
            • Optional additionalContent?: ((args) => string | Promise<string>)
            • Optional field?: ((args) => string | Promise<string>)
            • Optional fieldMacro?: ((args) => string | Promise<string>)
            • Optional self?: ((args) => string | Promise<string>)
            • Optional structMacro?: ((args) => string | Promise<string>)
          • Optional tuple?: {
                additionalContent?: ((args) => string | Promise<string>);
                field?: ((args) => string | Promise<string>);
                self?: ((args) => string | Promise<string>);
                structMacro?: ((args) => string | Promise<string>);
            }
            • Optional additionalContent?: ((args) => string | Promise<string>)
            • Optional field?: ((args) => string | Promise<string>)
            • Optional self?: ((args) => string | Promise<string>)
            • Optional structMacro?: ((args) => string | Promise<string>)
          • Optional union?: {
                additionalContent?: ((args) => string | Promise<string>);
                item?: ((args) => string);
                itemMacro?: ((args) => string);
                self?: ((args) => string | Promise<string>);
                structMacro?: ((args) => string | Promise<string>);
            }
            • Optional additionalContent?: ((args) => string | Promise<string>)
            • Optional item?: ((args) => string)
            • Optional itemMacro?: ((args) => string)
            • Optional self?: ((args) => string | Promise<string>)
            • Optional structMacro?: ((args) => string | Promise<string>)
        • Optional dependencyManager?: (() => AbstractDependencyManager) | {
              dependencies?: (undefined | string)[];
              addDependency?(dependency): void;
          }

          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.

        • Optional indentation?: {
              size?: number;
              type?: IndentationTypes;
          }
        • Optional presets?: (undefined | {
              enum?: {
                  additionalContent?: ((args) => string | Promise<(...)>);
                  item?: ((args) => string);
                  itemMacro?: ((args) => string);
                  self?: ((args) => string | Promise<(...)>);
                  structMacro?: ((args) => string | Promise<(...)>);
              };
              newType?: {
                  additionalContent?: ((args) => string | Promise<(...)>);
                  field?: ((args) => string | Promise<(...)>);
                  self?: ((args) => string | Promise<(...)>);
                  structMacro?: ((args) => string | Promise<(...)>);
              };
              package?: {
                  additionalContent?: ((args) => string | Promise<(...)>);
                  lib?: ((args) => string);
                  manifest?: ((args) => string);
                  self?: ((args) => string | Promise<(...)>);
              };
              struct?: {
                  additionalContent?: ((args) => string | Promise<(...)>);
                  field?: ((args) => string | Promise<(...)>);
                  fieldMacro?: ((args) => string | Promise<(...)>);
                  self?: ((args) => string | Promise<(...)>);
                  structMacro?: ((args) => string | Promise<(...)>);
              };
              tuple?: {
                  additionalContent?: ((args) => string | Promise<(...)>);
                  field?: ((args) => string | Promise<(...)>);
                  self?: ((args) => string | Promise<(...)>);
                  structMacro?: ((args) => string | Promise<(...)>);
              };
              union?: {
                  additionalContent?: ((args) => string | Promise<(...)>);
                  item?: ((args) => string);
                  itemMacro?: ((args) => string);
                  self?: ((args) => string | Promise<(...)>);
                  structMacro?: ((args) => string | Promise<(...)>);
              };
          } | {
              options?: any;
              preset?: {
                  enum?: {
                      additionalContent?: ((args) => ...);
                      item?: ((args) => ...);
                      itemMacro?: ((args) => ...);
                      self?: ((args) => ...);
                      structMacro?: ((args) => ...);
                  };
                  newType?: {
                      additionalContent?: ((args) => ...);
                      field?: ((args) => ...);
                      self?: ((args) => ...);
                      structMacro?: ((args) => ...);
                  };
                  package?: {
                      additionalContent?: ((args) => ...);
                      lib?: ((args) => ...);
                      manifest?: ((args) => ...);
                      self?: ((args) => ...);
                  };
                  struct?: {
                      additionalContent?: ((args) => ...);
                      field?: ((args) => ...);
                      fieldMacro?: ((args) => ...);
                      self?: ((args) => ...);
                      structMacro?: ((args) => ...);
                  };
                  tuple?: {
                      additionalContent?: ((args) => ...);
                      field?: ((args) => ...);
                      self?: ((args) => ...);
                      structMacro?: ((args) => ...);
                  };
                  union?: {
                      additionalContent?: ((args) => ...);
                      item?: ((args) => ...);
                      itemMacro?: ((args) => ...);
                      self?: ((args) => ...);
                      structMacro?: ((args) => ...);
                  };
              };
          })[]
        • Optional 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?: (undefined | string)[];
                      locale?: string;
                      mapRoot?: string;
                      maxNodeModuleJsDepth?: number;
                      module?: ModuleKind;
                      moduleDetection?: ModuleDetectionKind;
                      moduleResolution?: ModuleResolutionKind;
                      moduleSuffixes?: (undefined | string)[];
                      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?: {};
                      preserveConstEnums?: boolean;
                      preserveSymlinks?: boolean;
                      preserveValueImports?: boolean;
                      project?: string;
                      reactNamespace?: string;
                      removeComments?: boolean;
                      resolveJsonModule?: boolean;
                      rootDir?: string;
                      rootDirs?: (undefined | string)[];
                      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?: (undefined | string)[];
                      types?: (undefined | string)[];
                      useDefineForClassFields?: boolean;
                      useUnknownInCatchVariables?: boolean;
                  };
                  defaultNumberType?: "number" | "integer";
                  defaultProps?: boolean;
                  esModuleInterop?: boolean;
                  excludePrivate?: boolean;
                  id?: string;
                  ignoreErrors?: boolean;
                  include?: (undefined | string)[];
                  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?: (undefined | string)[];
              };
          }
          • Optional 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;
                };
            }
            • Optional __unstable?: {
                  resolver?: {
                      resolvers?: (...)[];
                  };
              }
              • Optional resolver?: {
                    resolvers?: (...)[];
                }
                • Optional resolvers?: (...)[]
            • Optional applyTraits?: boolean
            • Optional parseSchemas?: boolean
            • Optional source?: string
            • Optional validateOptions?: {
                  __unstable?: {
                      resolver?: {
                          resolvers?: ...;
                      };
                  };
                  allowedSeverity?: {
                      error?: boolean;
                      hint?: boolean;
                      info?: boolean;
                      warning?: boolean;
                  };
                  ignoreUnknownFormat?: boolean;
              }
              • Optional __unstable?: {
                    resolver?: {
                        resolvers?: ...;
                    };
                }
                • Optional resolver?: {
                      resolvers?: ...;
                  }
                  • Optional resolvers?: ...
              • Optional allowedSeverity?: {
                    error?: boolean;
                    hint?: boolean;
                    info?: boolean;
                    warning?: boolean;
                }
                • Optional error?: boolean
                • Optional hint?: boolean
                • Optional info?: boolean
                • Optional warning?: boolean
              • Optional ignoreUnknownFormat?: boolean
          • Optional jsonSchema?: {
                allowInheritance?: boolean;
                disableCache?: boolean;
                discriminator?: string;
                ignoreAdditionalItems?: boolean;
                ignoreAdditionalProperties?: boolean;
                interpretSingleEnumAsConst?: boolean;
                propertyNameForAdditionalProperties?: string;
            }
            • Optional allowInheritance?: boolean
            • Optional disableCache?: 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.

            • Optional discriminator?: 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.

            • Optional ignoreAdditionalItems?: 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.

            • Optional ignoreAdditionalProperties?: 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.

            • Optional interpretSingleEnumAsConst?: 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.

            • Optional propertyNameForAdditionalProperties?: string

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

          • Optional openapi?: {
                includeComponentSchemas?: boolean;
            }
            • Optional includeComponentSchemas?: boolean
          • Optional 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?: (undefined | string)[];
                    locale?: string;
                    mapRoot?: string;
                    maxNodeModuleJsDepth?: number;
                    module?: ModuleKind;
                    moduleDetection?: ModuleDetectionKind;
                    moduleResolution?: ModuleResolutionKind;
                    moduleSuffixes?: (undefined | string)[];
                    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?: {};
                    preserveConstEnums?: boolean;
                    preserveSymlinks?: boolean;
                    preserveValueImports?: boolean;
                    project?: string;
                    reactNamespace?: string;
                    removeComments?: boolean;
                    resolveJsonModule?: boolean;
                    rootDir?: string;
                    rootDirs?: (undefined | string)[];
                    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?: (undefined | string)[];
                    types?: (undefined | string)[];
                    useDefineForClassFields?: boolean;
                    useUnknownInCatchVariables?: boolean;
                };
                defaultNumberType?: "number" | "integer";
                defaultProps?: boolean;
                esModuleInterop?: boolean;
                excludePrivate?: boolean;
                id?: string;
                ignoreErrors?: boolean;
                include?: (undefined | string)[];
                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?: (undefined | string)[];
            }
            • Optional aliasRef?: boolean
            • Optional 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?: (undefined | string)[];
                  locale?: string;
                  mapRoot?: string;
                  maxNodeModuleJsDepth?: number;
                  module?: ModuleKind;
                  moduleDetection?: ModuleDetectionKind;
                  moduleResolution?: ModuleResolutionKind;
                  moduleSuffixes?: (undefined | string)[];
                  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?: {};
                  preserveConstEnums?: boolean;
                  preserveSymlinks?: boolean;
                  preserveValueImports?: boolean;
                  project?: string;
                  reactNamespace?: string;
                  removeComments?: boolean;
                  resolveJsonModule?: boolean;
                  rootDir?: string;
                  rootDirs?: (undefined | string)[];
                  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?: (undefined | string)[];
                  types?: (undefined | string)[];
                  useDefineForClassFields?: boolean;
                  useUnknownInCatchVariables?: boolean;
              }
              • Optional allowJs?: boolean
              • Optional allowSyntheticDefaultImports?: boolean
              • Optional allowUmdGlobalAccess?: boolean
              • Optional allowUnreachableCode?: boolean
              • Optional allowUnusedLabels?: boolean
              • Optional alwaysStrict?: boolean
              • Optional assumeChangesOnlyAffectDirectDependencies?: boolean
              • Optional baseUrl?: string
              • Optional charset?: string
              • Optional checkJs?: boolean
              • Optional composite?: boolean
              • Optional declaration?: boolean
              • Optional declarationDir?: string
              • Optional declarationMap?: boolean
              • Optional disableReferencedProjectLoad?: boolean
              • Optional disableSizeLimit?: boolean
              • Optional disableSolutionSearching?: boolean
              • Optional disableSourceOfProjectReferenceRedirect?: boolean
              • Optional downlevelIteration?: boolean
              • Optional emitBOM?: boolean
              • Optional emitDeclarationOnly?: boolean
              • Optional emitDecoratorMetadata?: boolean
              • Optional esModuleInterop?: boolean
              • Optional exactOptionalPropertyTypes?: boolean
              • Optional experimentalDecorators?: boolean
              • Optional forceConsistentCasingInFileNames?: boolean
              • Optional importHelpers?: boolean
              • Optional importsNotUsedAsValues?: ImportsNotUsedAsValues
              • Optional incremental?: boolean
              • Optional inlineSourceMap?: boolean
              • Optional inlineSources?: boolean
              • Optional isolatedModules?: boolean
              • Optional jsx?: JsxEmit
              • Optional jsxFactory?: string
              • Optional jsxFragmentFactory?: string
              • Optional jsxImportSource?: string
              • Optional keyofStringsOnly?: boolean
              • Optional lib?: (undefined | string)[]
              • Optional locale?: string
              • Optional mapRoot?: string
              • Optional maxNodeModuleJsDepth?: number
              • Optional module?: ModuleKind
              • Optional moduleDetection?: ModuleDetectionKind
              • Optional moduleResolution?: ModuleResolutionKind
              • Optional moduleSuffixes?: (undefined | string)[]
              • Optional newLine?: NewLineKind
              • Optional noEmit?: boolean
              • Optional noEmitHelpers?: boolean
              • Optional noEmitOnError?: boolean
              • Optional noErrorTruncation?: boolean
              • Optional noFallthroughCasesInSwitch?: boolean
              • Optional noImplicitAny?: boolean
              • Optional noImplicitOverride?: boolean
              • Optional noImplicitReturns?: boolean
              • Optional noImplicitThis?: boolean
              • Optional noImplicitUseStrict?: boolean
              • Optional noLib?: boolean
              • Optional noPropertyAccessFromIndexSignature?: boolean
              • Optional noResolve?: boolean
              • Optional noStrictGenericChecks?: boolean
              • Optional noUncheckedIndexedAccess?: boolean
              • Optional noUnusedLocals?: boolean
              • Optional noUnusedParameters?: boolean
              • Optional out?: string
              • Optional outDir?: string
              • Optional outFile?: string
              • Optional paths?: {}
                • Optional preserveConstEnums?: boolean
                • Optional preserveSymlinks?: boolean
                • Optional preserveValueImports?: boolean
                • Optional project?: string
                • Optional reactNamespace?: string
                • Optional removeComments?: boolean
                • Optional resolveJsonModule?: boolean
                • Optional rootDir?: string
                • Optional rootDirs?: (undefined | string)[]
                • Optional skipDefaultLibCheck?: boolean
                • Optional skipLibCheck?: boolean
                • Optional sourceMap?: boolean
                • Optional sourceRoot?: string
                • Optional strict?: boolean
                • Optional strictBindCallApply?: boolean
                • Optional strictFunctionTypes?: boolean
                • Optional strictNullChecks?: boolean
                • Optional strictPropertyInitialization?: boolean
                • Optional stripInternal?: boolean
                • Optional suppressExcessPropertyErrors?: boolean
                • Optional suppressImplicitAnyIndexErrors?: boolean
                • Optional target?: ScriptTarget
                • Optional traceResolution?: boolean
                • Optional tsBuildInfoFile?: string
                • Optional typeRoots?: (undefined | string)[]

                  Paths used to compute primary types search locations

                • Optional types?: (undefined | string)[]
                • Optional useDefineForClassFields?: boolean
                • Optional useUnknownInCatchVariables?: boolean
              • Optional defaultNumberType?: "number" | "integer"
              • Optional defaultProps?: boolean
              • Optional esModuleInterop?: boolean
              • Optional excludePrivate?: boolean
              • Optional id?: string
              • Optional ignoreErrors?: boolean
              • Optional include?: (undefined | string)[]
              • Optional noExtraProps?: boolean
              • Optional out?: string
              • Optional propOrder?: boolean
              • Optional ref?: boolean
              • Optional rejectDateType?: boolean
              • Optional required?: boolean
              • Optional skipLibCheck?: boolean
              • Optional strictNullChecks?: boolean
              • Optional titles?: boolean
              • Optional topRef?: boolean
              • Optional tsNodeRegister?: boolean
              • Optional typeOfKeyword?: boolean
              • Optional uniqueNames?: boolean
              • Optional validationKeywords?: (undefined | string)[]
          • Optional typeMapping?: {
                Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
                Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
                Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
                Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
                Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
                Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
                Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
                Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
                Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
                String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
                Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
                Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
            }

        Returns ConstrainedMetaModel

      • Parameters

        • input: any
        • completeModelOptions: Partial<RustRenderCompleteModelOptions>
        • Optional options: {
              constraints?: {
                  constant?: ConstantConstraint<RustOptions>;
                  enumKey?: EnumKeyConstraint<RustOptions>;
                  enumValue?: EnumValueConstraint<RustOptions>;
                  modelName?: ModelNameConstraint<RustOptions>;
                  propertyKey?: PropertyKeyConstraint<RustOptions>;
              };
              defaultPreset?: {
                  enum?: {
                      additionalContent?: ((args) => string | Promise<string>);
                      item?: ((args) => string);
                      itemMacro?: ((args) => string);
                      self?: ((args) => string | Promise<string>);
                      structMacro?: ((args) => string | Promise<string>);
                  };
                  newType?: {
                      additionalContent?: ((args) => string | Promise<string>);
                      field?: ((args) => string | Promise<string>);
                      self?: ((args) => string | Promise<string>);
                      structMacro?: ((args) => string | Promise<string>);
                  };
                  package?: {
                      additionalContent?: ((args) => string | Promise<string>);
                      lib?: ((args) => string);
                      manifest?: ((args) => string);
                      self?: ((args) => string | Promise<string>);
                  };
                  struct?: {
                      additionalContent?: ((args) => string | Promise<string>);
                      field?: ((args) => string | Promise<string>);
                      fieldMacro?: ((args) => string | Promise<string>);
                      self?: ((args) => string | Promise<string>);
                      structMacro?: ((args) => string | Promise<string>);
                  };
                  tuple?: {
                      additionalContent?: ((args) => string | Promise<string>);
                      field?: ((args) => string | Promise<string>);
                      self?: ((args) => string | Promise<string>);
                      structMacro?: ((args) => string | Promise<string>);
                  };
                  union?: {
                      additionalContent?: ((args) => string | Promise<string>);
                      item?: ((args) => string);
                      itemMacro?: ((args) => string);
                      self?: ((args) => string | Promise<string>);
                      structMacro?: ((args) => string | Promise<string>);
                  };
              };
              dependencyManager?: (() => AbstractDependencyManager) | {
                  dependencies?: (undefined | string)[];
                  addDependency?(dependency): void;
              };
              indentation?: {
                  size?: number;
                  type?: IndentationTypes;
              };
              presets?: (undefined | {
                  enum?: {
                      additionalContent?: ((args) => (...) | (...));
                      item?: ((args) => string);
                      itemMacro?: ((args) => string);
                      self?: ((args) => (...) | (...));
                      structMacro?: ((args) => (...) | (...));
                  };
                  newType?: {
                      additionalContent?: ((args) => (...) | (...));
                      field?: ((args) => (...) | (...));
                      self?: ((args) => (...) | (...));
                      structMacro?: ((args) => (...) | (...));
                  };
                  package?: {
                      additionalContent?: ((args) => (...) | (...));
                      lib?: ((args) => string);
                      manifest?: ((args) => string);
                      self?: ((args) => (...) | (...));
                  };
                  struct?: {
                      additionalContent?: ((args) => (...) | (...));
                      field?: ((args) => (...) | (...));
                      fieldMacro?: ((args) => (...) | (...));
                      self?: ((args) => (...) | (...));
                      structMacro?: ((args) => (...) | (...));
                  };
                  tuple?: {
                      additionalContent?: ((args) => (...) | (...));
                      field?: ((args) => (...) | (...));
                      self?: ((args) => (...) | (...));
                      structMacro?: ((args) => (...) | (...));
                  };
                  union?: {
                      additionalContent?: ((args) => (...) | (...));
                      item?: ((args) => string);
                      itemMacro?: ((args) => string);
                      self?: ((args) => (...) | (...));
                      structMacro?: ((args) => (...) | (...));
                  };
              } | {
                  options?: any;
                  preset?: {
                      enum?: {
                          additionalContent?: (...) | (...);
                          item?: (...) | (...);
                          itemMacro?: (...) | (...);
                          self?: (...) | (...);
                          structMacro?: (...) | (...);
                      };
                      newType?: {
                          additionalContent?: (...) | (...);
                          field?: (...) | (...);
                          self?: (...) | (...);
                          structMacro?: (...) | (...);
                      };
                      package?: {
                          additionalContent?: (...) | (...);
                          lib?: (...) | (...);
                          manifest?: (...) | (...);
                          self?: (...) | (...);
                      };
                      struct?: {
                          additionalContent?: (...) | (...);
                          field?: (...) | (...);
                          fieldMacro?: (...) | (...);
                          self?: (...) | (...);
                          structMacro?: (...) | (...);
                      };
                      tuple?: {
                          additionalContent?: (...) | (...);
                          field?: (...) | (...);
                          self?: (...) | (...);
                          structMacro?: (...) | (...);
                      };
                      union?: {
                          additionalContent?: (...) | (...);
                          item?: (...) | (...);
                          itemMacro?: (...) | (...);
                          self?: (...) | (...);
                          structMacro?: (...) | (...);
                      };
                  };
              })[];
              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?: {};
                          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;
                      };
                      defaultNumberType?: "number" | "integer";
                      defaultProps?: boolean;
                      esModuleInterop?: boolean;
                      excludePrivate?: boolean;
                      id?: string;
                      ignoreErrors?: boolean;
                      include?: (undefined | string)[];
                      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?: (undefined | string)[];
                  };
              };
              typeMapping?: {
                  Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
                  Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
                  Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
                  Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
                  Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
                  Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
                  Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
                  Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
                  Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
                  String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
                  Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
                  Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
              };
          }
          • Optional constraints?: {
                constant?: ConstantConstraint<RustOptions>;
                enumKey?: EnumKeyConstraint<RustOptions>;
                enumValue?: EnumValueConstraint<RustOptions>;
                modelName?: ModelNameConstraint<RustOptions>;
                propertyKey?: PropertyKeyConstraint<RustOptions>;
            }
          • Optional defaultPreset?: {
                enum?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    item?: ((args) => string);
                    itemMacro?: ((args) => string);
                    self?: ((args) => string | Promise<string>);
                    structMacro?: ((args) => string | Promise<string>);
                };
                newType?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    field?: ((args) => string | Promise<string>);
                    self?: ((args) => string | Promise<string>);
                    structMacro?: ((args) => string | Promise<string>);
                };
                package?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    lib?: ((args) => string);
                    manifest?: ((args) => string);
                    self?: ((args) => string | Promise<string>);
                };
                struct?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    field?: ((args) => string | Promise<string>);
                    fieldMacro?: ((args) => string | Promise<string>);
                    self?: ((args) => string | Promise<string>);
                    structMacro?: ((args) => string | Promise<string>);
                };
                tuple?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    field?: ((args) => string | Promise<string>);
                    self?: ((args) => string | Promise<string>);
                    structMacro?: ((args) => string | Promise<string>);
                };
                union?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    item?: ((args) => string);
                    itemMacro?: ((args) => string);
                    self?: ((args) => string | Promise<string>);
                    structMacro?: ((args) => string | Promise<string>);
                };
            }
            • Optional enum?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  item?: ((args) => string);
                  itemMacro?: ((args) => string);
                  self?: ((args) => string | Promise<string>);
                  structMacro?: ((args) => string | Promise<string>);
              }
              • Optional additionalContent?: ((args) => string | Promise<string>)
              • Optional item?: ((args) => string)
              • Optional itemMacro?: ((args) => string)
              • Optional self?: ((args) => string | Promise<string>)
              • Optional structMacro?: ((args) => string | Promise<string>)
            • Optional newType?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  field?: ((args) => string | Promise<string>);
                  self?: ((args) => string | Promise<string>);
                  structMacro?: ((args) => string | Promise<string>);
              }
              • Optional additionalContent?: ((args) => string | Promise<string>)
              • Optional field?: ((args) => string | Promise<string>)
              • Optional self?: ((args) => string | Promise<string>)
              • Optional structMacro?: ((args) => string | Promise<string>)
            • Optional package?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  lib?: ((args) => string);
                  manifest?: ((args) => string);
                  self?: ((args) => string | Promise<string>);
              }
              • Optional additionalContent?: ((args) => string | Promise<string>)
              • Optional lib?: ((args) => string)
              • Optional manifest?: ((args) => string)
              • Optional self?: ((args) => string | Promise<string>)
            • Optional struct?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  field?: ((args) => string | Promise<string>);
                  fieldMacro?: ((args) => string | Promise<string>);
                  self?: ((args) => string | Promise<string>);
                  structMacro?: ((args) => string | Promise<string>);
              }
              • Optional additionalContent?: ((args) => string | Promise<string>)
              • Optional field?: ((args) => string | Promise<string>)
              • Optional fieldMacro?: ((args) => string | Promise<string>)
              • Optional self?: ((args) => string | Promise<string>)
              • Optional structMacro?: ((args) => string | Promise<string>)
            • Optional tuple?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  field?: ((args) => string | Promise<string>);
                  self?: ((args) => string | Promise<string>);
                  structMacro?: ((args) => string | Promise<string>);
              }
              • Optional additionalContent?: ((args) => string | Promise<string>)
              • Optional field?: ((args) => string | Promise<string>)
              • Optional self?: ((args) => string | Promise<string>)
              • Optional structMacro?: ((args) => string | Promise<string>)
            • Optional union?: {
                  additionalContent?: ((args) => string | Promise<string>);
                  item?: ((args) => string);
                  itemMacro?: ((args) => string);
                  self?: ((args) => string | Promise<string>);
                  structMacro?: ((args) => string | Promise<string>);
              }
              • Optional additionalContent?: ((args) => string | Promise<string>)
              • Optional item?: ((args) => string)
              • Optional itemMacro?: ((args) => string)
              • Optional self?: ((args) => string | Promise<string>)
              • Optional structMacro?: ((args) => string | Promise<string>)
          • Optional dependencyManager?: (() => AbstractDependencyManager) | {
                dependencies?: (undefined | string)[];
                addDependency?(dependency): void;
            }

            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.

          • Optional indentation?: {
                size?: number;
                type?: IndentationTypes;
            }
          • Optional presets?: (undefined | {
                enum?: {
                    additionalContent?: ((args) => (...) | (...));
                    item?: ((args) => string);
                    itemMacro?: ((args) => string);
                    self?: ((args) => (...) | (...));
                    structMacro?: ((args) => (...) | (...));
                };
                newType?: {
                    additionalContent?: ((args) => (...) | (...));
                    field?: ((args) => (...) | (...));
                    self?: ((args) => (...) | (...));
                    structMacro?: ((args) => (...) | (...));
                };
                package?: {
                    additionalContent?: ((args) => (...) | (...));
                    lib?: ((args) => string);
                    manifest?: ((args) => string);
                    self?: ((args) => (...) | (...));
                };
                struct?: {
                    additionalContent?: ((args) => (...) | (...));
                    field?: ((args) => (...) | (...));
                    fieldMacro?: ((args) => (...) | (...));
                    self?: ((args) => (...) | (...));
                    structMacro?: ((args) => (...) | (...));
                };
                tuple?: {
                    additionalContent?: ((args) => (...) | (...));
                    field?: ((args) => (...) | (...));
                    self?: ((args) => (...) | (...));
                    structMacro?: ((args) => (...) | (...));
                };
                union?: {
                    additionalContent?: ((args) => (...) | (...));
                    item?: ((args) => string);
                    itemMacro?: ((args) => string);
                    self?: ((args) => (...) | (...));
                    structMacro?: ((args) => (...) | (...));
                };
            } | {
                options?: any;
                preset?: {
                    enum?: {
                        additionalContent?: (...) | (...);
                        item?: (...) | (...);
                        itemMacro?: (...) | (...);
                        self?: (...) | (...);
                        structMacro?: (...) | (...);
                    };
                    newType?: {
                        additionalContent?: (...) | (...);
                        field?: (...) | (...);
                        self?: (...) | (...);
                        structMacro?: (...) | (...);
                    };
                    package?: {
                        additionalContent?: (...) | (...);
                        lib?: (...) | (...);
                        manifest?: (...) | (...);
                        self?: (...) | (...);
                    };
                    struct?: {
                        additionalContent?: (...) | (...);
                        field?: (...) | (...);
                        fieldMacro?: (...) | (...);
                        self?: (...) | (...);
                        structMacro?: (...) | (...);
                    };
                    tuple?: {
                        additionalContent?: (...) | (...);
                        field?: (...) | (...);
                        self?: (...) | (...);
                        structMacro?: (...) | (...);
                    };
                    union?: {
                        additionalContent?: (...) | (...);
                        item?: (...) | (...);
                        itemMacro?: (...) | (...);
                        self?: (...) | (...);
                        structMacro?: (...) | (...);
                    };
                };
            })[]
          • Optional 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?: {};
                        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;
                    };
                    defaultNumberType?: "number" | "integer";
                    defaultProps?: boolean;
                    esModuleInterop?: boolean;
                    excludePrivate?: boolean;
                    id?: string;
                    ignoreErrors?: boolean;
                    include?: (undefined | string)[];
                    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?: (undefined | string)[];
                };
            }
            • Optional asyncapi?: {
                  __unstable?: {
                      resolver?: {
                          resolvers?: (...) | (...);
                      };
                  };
                  applyTraits?: boolean;
                  parseSchemas?: boolean;
                  source?: string;
                  validateOptions?: {
                      __unstable?: {
                          resolver?: (...) | (...);
                      };
                      allowedSeverity?: {
                          error?: (...) | (...) | (...);
                          hint?: (...) | (...) | (...);
                          info?: (...) | (...) | (...);
                          warning?: (...) | (...) | (...);
                      };
                      ignoreUnknownFormat?: boolean;
                  };
              }
              • Optional __unstable?: {
                    resolver?: {
                        resolvers?: (...) | (...);
                    };
                }
                • Optional resolver?: {
                      resolvers?: (...) | (...);
                  }
                  • Optional resolvers?: (...) | (...)
              • Optional applyTraits?: boolean
              • Optional parseSchemas?: boolean
              • Optional source?: string
              • Optional validateOptions?: {
                    __unstable?: {
                        resolver?: (...) | (...);
                    };
                    allowedSeverity?: {
                        error?: (...) | (...) | (...);
                        hint?: (...) | (...) | (...);
                        info?: (...) | (...) | (...);
                        warning?: (...) | (...) | (...);
                    };
                    ignoreUnknownFormat?: boolean;
                }
                • Optional __unstable?: {
                      resolver?: (...) | (...);
                  }
                  • Optional resolver?: (...) | (...)
                • Optional allowedSeverity?: {
                      error?: (...) | (...) | (...);
                      hint?: (...) | (...) | (...);
                      info?: (...) | (...) | (...);
                      warning?: (...) | (...) | (...);
                  }
                  • Optional error?: (...) | (...) | (...)
                  • Optional hint?: (...) | (...) | (...)
                  • Optional info?: (...) | (...) | (...)
                  • Optional warning?: (...) | (...) | (...)
                • Optional ignoreUnknownFormat?: boolean
            • Optional jsonSchema?: {
                  allowInheritance?: boolean;
                  disableCache?: boolean;
                  discriminator?: string;
                  ignoreAdditionalItems?: boolean;
                  ignoreAdditionalProperties?: boolean;
                  interpretSingleEnumAsConst?: boolean;
                  propertyNameForAdditionalProperties?: string;
              }
              • Optional allowInheritance?: boolean
              • Optional disableCache?: 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.

              • Optional discriminator?: 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.

              • Optional ignoreAdditionalItems?: 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.

              • Optional ignoreAdditionalProperties?: 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.

              • Optional interpretSingleEnumAsConst?: 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.

              • Optional propertyNameForAdditionalProperties?: string

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

            • Optional openapi?: {
                  includeComponentSchemas?: boolean;
              }
              • Optional includeComponentSchemas?: boolean
            • Optional 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?: {};
                      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;
                  };
                  defaultNumberType?: "number" | "integer";
                  defaultProps?: boolean;
                  esModuleInterop?: boolean;
                  excludePrivate?: boolean;
                  id?: string;
                  ignoreErrors?: boolean;
                  include?: (undefined | string)[];
                  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?: (undefined | string)[];
              }
              • Optional aliasRef?: boolean
              • Optional 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?: {};
                    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;
                }
                • Optional allowJs?: boolean
                • Optional allowSyntheticDefaultImports?: boolean
                • Optional allowUmdGlobalAccess?: boolean
                • Optional allowUnreachableCode?: boolean
                • Optional allowUnusedLabels?: boolean
                • Optional alwaysStrict?: boolean
                • Optional assumeChangesOnlyAffectDirectDependencies?: boolean
                • Optional baseUrl?: string
                • Optional charset?: string
                • Optional checkJs?: boolean
                • Optional composite?: boolean
                • Optional declaration?: boolean
                • Optional declarationDir?: string
                • Optional declarationMap?: boolean
                • Optional disableReferencedProjectLoad?: boolean
                • Optional disableSizeLimit?: boolean
                • Optional disableSolutionSearching?: boolean
                • Optional disableSourceOfProjectReferenceRedirect?: boolean
                • Optional downlevelIteration?: boolean
                • Optional emitBOM?: boolean
                • Optional emitDeclarationOnly?: boolean
                • Optional emitDecoratorMetadata?: boolean
                • Optional esModuleInterop?: boolean
                • Optional exactOptionalPropertyTypes?: boolean
                • Optional experimentalDecorators?: boolean
                • Optional forceConsistentCasingInFileNames?: boolean
                • Optional importHelpers?: boolean
                • Optional importsNotUsedAsValues?: ImportsNotUsedAsValues
                • Optional incremental?: boolean
                • Optional inlineSourceMap?: boolean
                • Optional inlineSources?: boolean
                • Optional isolatedModules?: boolean
                • Optional jsx?: JsxEmit
                • Optional jsxFactory?: string
                • Optional jsxFragmentFactory?: string
                • Optional jsxImportSource?: string
                • Optional keyofStringsOnly?: boolean
                • Optional lib?: ((...) | (...))[]
                • Optional locale?: string
                • Optional mapRoot?: string
                • Optional maxNodeModuleJsDepth?: number
                • Optional module?: ModuleKind
                • Optional moduleDetection?: ModuleDetectionKind
                • Optional moduleResolution?: ModuleResolutionKind
                • Optional moduleSuffixes?: ((...) | (...))[]
                • Optional newLine?: NewLineKind
                • Optional noEmit?: boolean
                • Optional noEmitHelpers?: boolean
                • Optional noEmitOnError?: boolean
                • Optional noErrorTruncation?: boolean
                • Optional noFallthroughCasesInSwitch?: boolean
                • Optional noImplicitAny?: boolean
                • Optional noImplicitOverride?: boolean
                • Optional noImplicitReturns?: boolean
                • Optional noImplicitThis?: boolean
                • Optional noImplicitUseStrict?: boolean
                • Optional noLib?: boolean
                • Optional noPropertyAccessFromIndexSignature?: boolean
                • Optional noResolve?: boolean
                • Optional noStrictGenericChecks?: boolean
                • Optional noUncheckedIndexedAccess?: boolean
                • Optional noUnusedLocals?: boolean
                • Optional noUnusedParameters?: boolean
                • Optional out?: string
                • Optional outDir?: string
                • Optional outFile?: string
                • Optional paths?: {}
                  • Optional preserveConstEnums?: boolean
                  • Optional preserveSymlinks?: boolean
                  • Optional preserveValueImports?: boolean
                  • Optional project?: string
                  • Optional reactNamespace?: string
                  • Optional removeComments?: boolean
                  • Optional resolveJsonModule?: boolean
                  • Optional rootDir?: string
                  • Optional rootDirs?: ((...) | (...))[]
                  • Optional skipDefaultLibCheck?: boolean
                  • Optional skipLibCheck?: boolean
                  • Optional sourceMap?: boolean
                  • Optional sourceRoot?: string
                  • Optional strict?: boolean
                  • Optional strictBindCallApply?: boolean
                  • Optional strictFunctionTypes?: boolean
                  • Optional strictNullChecks?: boolean
                  • Optional strictPropertyInitialization?: boolean
                  • Optional stripInternal?: boolean
                  • Optional suppressExcessPropertyErrors?: boolean
                  • Optional suppressImplicitAnyIndexErrors?: boolean
                  • Optional target?: ScriptTarget
                  • Optional traceResolution?: boolean
                  • Optional tsBuildInfoFile?: string
                  • Optional typeRoots?: ((...) | (...))[]

                    Paths used to compute primary types search locations

                  • Optional types?: ((...) | (...))[]
                  • Optional useDefineForClassFields?: boolean
                  • Optional useUnknownInCatchVariables?: boolean
                • Optional defaultNumberType?: "number" | "integer"
                • Optional defaultProps?: boolean
                • Optional esModuleInterop?: boolean
                • Optional excludePrivate?: boolean
                • Optional id?: string
                • Optional ignoreErrors?: boolean
                • Optional include?: (undefined | string)[]
                • Optional noExtraProps?: boolean
                • Optional out?: string
                • Optional propOrder?: boolean
                • Optional ref?: boolean
                • Optional rejectDateType?: boolean
                • Optional required?: boolean
                • Optional skipLibCheck?: boolean
                • Optional strictNullChecks?: boolean
                • Optional titles?: boolean
                • Optional topRef?: boolean
                • Optional tsNodeRegister?: boolean
                • Optional typeOfKeyword?: boolean
                • Optional uniqueNames?: boolean
                • Optional validationKeywords?: (undefined | string)[]
            • Optional typeMapping?: {
                  Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
                  Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
                  Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
                  Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
                  Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
                  Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
                  Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
                  Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
                  Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
                  String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
                  Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
                  Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
              }

          Returns Promise<OutputModel[]>

        • Parameters

          • model: ConstrainedEnumModel
          • inputModel: InputMetaModel
          • Optional options: {
                constraints?: {
                    constant?: ConstantConstraint<RustOptions>;
                    enumKey?: EnumKeyConstraint<RustOptions>;
                    enumValue?: EnumValueConstraint<RustOptions>;
                    modelName?: ModelNameConstraint<RustOptions>;
                    propertyKey?: PropertyKeyConstraint<RustOptions>;
                };
                defaultPreset?: {
                    enum?: {
                        additionalContent?: ((args) => string | Promise<string>);
                        item?: ((args) => string);
                        itemMacro?: ((args) => string);
                        self?: ((args) => string | Promise<string>);
                        structMacro?: ((args) => string | Promise<string>);
                    };
                    newType?: {
                        additionalContent?: ((args) => string | Promise<string>);
                        field?: ((args) => string | Promise<string>);
                        self?: ((args) => string | Promise<string>);
                        structMacro?: ((args) => string | Promise<string>);
                    };
                    package?: {
                        additionalContent?: ((args) => string | Promise<string>);
                        lib?: ((args) => string);
                        manifest?: ((args) => string);
                        self?: ((args) => string | Promise<string>);
                    };
                    struct?: {
                        additionalContent?: ((args) => string | Promise<string>);
                        field?: ((args) => string | Promise<string>);
                        fieldMacro?: ((args) => string | Promise<string>);
                        self?: ((args) => string | Promise<string>);
                        structMacro?: ((args) => string | Promise<string>);
                    };
                    tuple?: {
                        additionalContent?: ((args) => string | Promise<string>);
                        field?: ((args) => string | Promise<string>);
                        self?: ((args) => string | Promise<string>);
                        structMacro?: ((args) => string | Promise<string>);
                    };
                    union?: {
                        additionalContent?: ((args) => string | Promise<string>);
                        item?: ((args) => string);
                        itemMacro?: ((args) => string);
                        self?: ((args) => string | Promise<string>);
                        structMacro?: ((args) => string | Promise<string>);
                    };
                };
                dependencyManager?: (() => AbstractDependencyManager) | {
                    dependencies?: (undefined | string)[];
                    addDependency?(dependency): void;
                };
                indentation?: {
                    size?: number;
                    type?: IndentationTypes;
                };
                presets?: (undefined | {
                    enum?: {
                        additionalContent?: ((args) => (...) | (...));
                        item?: ((args) => string);
                        itemMacro?: ((args) => string);
                        self?: ((args) => (...) | (...));
                        structMacro?: ((args) => (...) | (...));
                    };
                    newType?: {
                        additionalContent?: ((args) => (...) | (...));
                        field?: ((args) => (...) | (...));
                        self?: ((args) => (...) | (...));
                        structMacro?: ((args) => (...) | (...));
                    };
                    package?: {
                        additionalContent?: ((args) => (...) | (...));
                        lib?: ((args) => string);
                        manifest?: ((args) => string);
                        self?: ((args) => (...) | (...));
                    };
                    struct?: {
                        additionalContent?: ((args) => (...) | (...));
                        field?: ((args) => (...) | (...));
                        fieldMacro?: ((args) => (...) | (...));
                        self?: ((args) => (...) | (...));
                        structMacro?: ((args) => (...) | (...));
                    };
                    tuple?: {
                        additionalContent?: ((args) => (...) | (...));
                        field?: ((args) => (...) | (...));
                        self?: ((args) => (...) | (...));
                        structMacro?: ((args) => (...) | (...));
                    };
                    union?: {
                        additionalContent?: ((args) => (...) | (...));
                        item?: ((args) => string);
                        itemMacro?: ((args) => string);
                        self?: ((args) => (...) | (...));
                        structMacro?: ((args) => (...) | (...));
                    };
                } | {
                    options?: any;
                    preset?: {
                        enum?: {
                            additionalContent?: (...) | (...);
                            item?: (...) | (...);
                            itemMacro?: (...) | (...);
                            self?: (...) | (...);
                            structMacro?: (...) | (...);
                        };
                        newType?: {
                            additionalContent?: (...) | (...);
                            field?: (...) | (...);
                            self?: (...) | (...);
                            structMacro?: (...) | (...);
                        };
                        package?: {
                            additionalContent?: (...) | (...);
                            lib?: (...) | (...);
                            manifest?: (...) | (...);
                            self?: (...) | (...);
                        };
                        struct?: {
                            additionalContent?: (...) | (...);
                            field?: (...) | (...);
                            fieldMacro?: (...) | (...);
                            self?: (...) | (...);
                            structMacro?: (...) | (...);
                        };
                        tuple?: {
                            additionalContent?: (...) | (...);
                            field?: (...) | (...);
                            self?: (...) | (...);
                            structMacro?: (...) | (...);
                        };
                        union?: {
                            additionalContent?: (...) | (...);
                            item?: (...) | (...);
                            itemMacro?: (...) | (...);
                            self?: (...) | (...);
                            structMacro?: (...) | (...);
                        };
                    };
                })[];
                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?: {};
                            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;
                        };
                        defaultNumberType?: "number" | "integer";
                        defaultProps?: boolean;
                        esModuleInterop?: boolean;
                        excludePrivate?: boolean;
                        id?: string;
                        ignoreErrors?: boolean;
                        include?: (undefined | string)[];
                        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?: (undefined | string)[];
                    };
                };
                typeMapping?: {
                    Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
                    Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
                    Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
                    Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
                    Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
                    Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
                    Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
                    Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
                    Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
                    String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
                    Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
                    Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
                };
            }
            • Optional constraints?: {
                  constant?: ConstantConstraint<RustOptions>;
                  enumKey?: EnumKeyConstraint<RustOptions>;
                  enumValue?: EnumValueConstraint<RustOptions>;
                  modelName?: ModelNameConstraint<RustOptions>;
                  propertyKey?: PropertyKeyConstraint<RustOptions>;
              }
            • Optional defaultPreset?: {
                  enum?: {
                      additionalContent?: ((args) => string | Promise<string>);
                      item?: ((args) => string);
                      itemMacro?: ((args) => string);
                      self?: ((args) => string | Promise<string>);
                      structMacro?: ((args) => string | Promise<string>);
                  };
                  newType?: {
                      additionalContent?: ((args) => string | Promise<string>);
                      field?: ((args) => string | Promise<string>);
                      self?: ((args) => string | Promise<string>);
                      structMacro?: ((args) => string | Promise<string>);
                  };
                  package?: {
                      additionalContent?: ((args) => string | Promise<string>);
                      lib?: ((args) => string);
                      manifest?: ((args) => string);
                      self?: ((args) => string | Promise<string>);
                  };
                  struct?: {
                      additionalContent?: ((args) => string | Promise<string>);
                      field?: ((args) => string | Promise<string>);
                      fieldMacro?: ((args) => string | Promise<string>);
                      self?: ((args) => string | Promise<string>);
                      structMacro?: ((args) => string | Promise<string>);
                  };
                  tuple?: {
                      additionalContent?: ((args) => string | Promise<string>);
                      field?: ((args) => string | Promise<string>);
                      self?: ((args) => string | Promise<string>);
                      structMacro?: ((args) => string | Promise<string>);
                  };
                  union?: {
                      additionalContent?: ((args) => string | Promise<string>);
                      item?: ((args) => string);
                      itemMacro?: ((args) => string);
                      self?: ((args) => string | Promise<string>);
                      structMacro?: ((args) => string | Promise<string>);
                  };
              }
              • Optional enum?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    item?: ((args) => string);
                    itemMacro?: ((args) => string);
                    self?: ((args) => string | Promise<string>);
                    structMacro?: ((args) => string | Promise<string>);
                }
                • Optional additionalContent?: ((args) => string | Promise<string>)
                • Optional item?: ((args) => string)
                • Optional itemMacro?: ((args) => string)
                • Optional self?: ((args) => string | Promise<string>)
                • Optional structMacro?: ((args) => string | Promise<string>)
              • Optional newType?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    field?: ((args) => string | Promise<string>);
                    self?: ((args) => string | Promise<string>);
                    structMacro?: ((args) => string | Promise<string>);
                }
                • Optional additionalContent?: ((args) => string | Promise<string>)
                • Optional field?: ((args) => string | Promise<string>)
                • Optional self?: ((args) => string | Promise<string>)
                • Optional structMacro?: ((args) => string | Promise<string>)
              • Optional package?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    lib?: ((args) => string);
                    manifest?: ((args) => string);
                    self?: ((args) => string | Promise<string>);
                }
                • Optional additionalContent?: ((args) => string | Promise<string>)
                • Optional lib?: ((args) => string)
                • Optional manifest?: ((args) => string)
                • Optional self?: ((args) => string | Promise<string>)
              • Optional struct?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    field?: ((args) => string | Promise<string>);
                    fieldMacro?: ((args) => string | Promise<string>);
                    self?: ((args) => string | Promise<string>);
                    structMacro?: ((args) => string | Promise<string>);
                }
                • Optional additionalContent?: ((args) => string | Promise<string>)
                • Optional field?: ((args) => string | Promise<string>)
                • Optional fieldMacro?: ((args) => string | Promise<string>)
                • Optional self?: ((args) => string | Promise<string>)
                • Optional structMacro?: ((args) => string | Promise<string>)
              • Optional tuple?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    field?: ((args) => string | Promise<string>);
                    self?: ((args) => string | Promise<string>);
                    structMacro?: ((args) => string | Promise<string>);
                }
                • Optional additionalContent?: ((args) => string | Promise<string>)
                • Optional field?: ((args) => string | Promise<string>)
                • Optional self?: ((args) => string | Promise<string>)
                • Optional structMacro?: ((args) => string | Promise<string>)
              • Optional union?: {
                    additionalContent?: ((args) => string | Promise<string>);
                    item?: ((args) => string);
                    itemMacro?: ((args) => string);
                    self?: ((args) => string | Promise<string>);
                    structMacro?: ((args) => string | Promise<string>);
                }
                • Optional additionalContent?: ((args) => string | Promise<string>)
                • Optional item?: ((args) => string)
                • Optional itemMacro?: ((args) => string)
                • Optional self?: ((args) => string | Promise<string>)
                • Optional structMacro?: ((args) => string | Promise<string>)
            • Optional dependencyManager?: (() => AbstractDependencyManager) | {
                  dependencies?: (undefined | string)[];
                  addDependency?(dependency): void;
              }

              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.

            • Optional indentation?: {
                  size?: number;
                  type?: IndentationTypes;
              }
            • Optional presets?: (undefined | {
                  enum?: {
                      additionalContent?: ((args) => (...) | (...));
                      item?: ((args) => string);
                      itemMacro?: ((args) => string);
                      self?: ((args) => (...) | (...));
                      structMacro?: ((args) => (...) | (...));
                  };
                  newType?: {
                      additionalContent?: ((args) => (...) | (...));
                      field?: ((args) => (...) | (...));
                      self?: ((args) => (...) | (...));
                      structMacro?: ((args) => (...) | (...));
                  };
                  package?: {
                      additionalContent?: ((args) => (...) | (...));
                      lib?: ((args) => string);
                      manifest?: ((args) => string);
                      self?: ((args) => (...) | (...));
                  };
                  struct?: {
                      additionalContent?: ((args) => (...) | (...));
                      field?: ((args) => (...) | (...));
                      fieldMacro?: ((args) => (...) | (...));
                      self?: ((args) => (...) | (...));
                      structMacro?: ((args) => (...) | (...));
                  };
                  tuple?: {
                      additionalContent?: ((args) => (...) | (...));
                      field?: ((args) => (...) | (...));
                      self?: ((args) => (...) | (...));
                      structMacro?: ((args) => (...) | (...));
                  };
                  union?: {
                      additionalContent?: ((args) => (...) | (...));
                      item?: ((args) => string);
                      itemMacro?: ((args) => string);
                      self?: ((args) => (...) | (...));
                      structMacro?: ((args) => (...) | (...));
                  };
              } | {
                  options?: any;
                  preset?: {
                      enum?: {
                          additionalContent?: (...) | (...);
                          item?: (...) | (...);
                          itemMacro?: (...) | (...);
                          self?: (...) | (...);
                          structMacro?: (...) | (...);
                      };
                      newType?: {
                          additionalContent?: (...) | (...);
                          field?: (...) | (...);
                          self?: (...) | (...);
                          structMacro?: (...) | (...);
                      };
                      package?: {
                          additionalContent?: (...) | (...);
                          lib?: (...) | (...);
                          manifest?: (...) | (...);
                          self?: (...) | (...);
                      };
                      struct?: {
                          additionalContent?: (...) | (...);
                          field?: (...) | (...);
                          fieldMacro?: (...) | (...);
                          self?: (...) | (...);
                          structMacro?: (...) | (...);
                      };
                      tuple?: {
                          additionalContent?: (...) | (...);
                          field?: (...) | (...);
                          self?: (...) | (...);
                          structMacro?: (...) | (...);
                      };
                      union?: {
                          additionalContent?: (...) | (...);
                          item?: (...) | (...);
                          itemMacro?: (...) | (...);
                          self?: (...) | (...);
                          structMacro?: (...) | (...);
                      };
                  };
              })[]
            • Optional 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?: {};
                          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;
                      };
                      defaultNumberType?: "number" | "integer";
                      defaultProps?: boolean;
                      esModuleInterop?: boolean;
                      excludePrivate?: boolean;
                      id?: string;
                      ignoreErrors?: boolean;
                      include?: (undefined | string)[];
                      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?: (undefined | string)[];
                  };
              }
              • Optional asyncapi?: {
                    __unstable?: {
                        resolver?: {
                            resolvers?: (...) | (...);
                        };
                    };
                    applyTraits?: boolean;
                    parseSchemas?: boolean;
                    source?: string;
                    validateOptions?: {
                        __unstable?: {
                            resolver?: (...) | (...);
                        };
                        allowedSeverity?: {
                            error?: (...) | (...) | (...);
                            hint?: (...) | (...) | (...);
                            info?: (...) | (...) | (...);
                            warning?: (...) | (...) | (...);
                        };
                        ignoreUnknownFormat?: boolean;
                    };
                }
                • Optional __unstable?: {
                      resolver?: {
                          resolvers?: (...) | (...);
                      };
                  }
                  • Optional resolver?: {
                        resolvers?: (...) | (...);
                    }
                    • Optional resolvers?: (...) | (...)
                • Optional applyTraits?: boolean
                • Optional parseSchemas?: boolean
                • Optional source?: string
                • Optional validateOptions?: {
                      __unstable?: {
                          resolver?: (...) | (...);
                      };
                      allowedSeverity?: {
                          error?: (...) | (...) | (...);
                          hint?: (...) | (...) | (...);
                          info?: (...) | (...) | (...);
                          warning?: (...) | (...) | (...);
                      };
                      ignoreUnknownFormat?: boolean;
                  }
                  • Optional __unstable?: {
                        resolver?: (...) | (...);
                    }
                    • Optional resolver?: (...) | (...)
                  • Optional allowedSeverity?: {
                        error?: (...) | (...) | (...);
                        hint?: (...) | (...) | (...);
                        info?: (...) | (...) | (...);
                        warning?: (...) | (...) | (...);
                    }
                    • Optional error?: (...) | (...) | (...)
                    • Optional hint?: (...) | (...) | (...)
                    • Optional info?: (...) | (...) | (...)
                    • Optional warning?: (...) | (...) | (...)
                  • Optional ignoreUnknownFormat?: boolean
              • Optional jsonSchema?: {
                    allowInheritance?: boolean;
                    disableCache?: boolean;
                    discriminator?: string;
                    ignoreAdditionalItems?: boolean;
                    ignoreAdditionalProperties?: boolean;
                    interpretSingleEnumAsConst?: boolean;
                    propertyNameForAdditionalProperties?: string;
                }
                • Optional allowInheritance?: boolean
                • Optional disableCache?: 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.

                • Optional discriminator?: 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.

                • Optional ignoreAdditionalItems?: 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.

                • Optional ignoreAdditionalProperties?: 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.

                • Optional interpretSingleEnumAsConst?: 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.

                • Optional propertyNameForAdditionalProperties?: string

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

              • Optional openapi?: {
                    includeComponentSchemas?: boolean;
                }
                • Optional includeComponentSchemas?: boolean
              • Optional 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?: {};
                        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;
                    };
                    defaultNumberType?: "number" | "integer";
                    defaultProps?: boolean;
                    esModuleInterop?: boolean;
                    excludePrivate?: boolean;
                    id?: string;
                    ignoreErrors?: boolean;
                    include?: (undefined | string)[];
                    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?: (undefined | string)[];
                }
                • Optional aliasRef?: boolean
                • Optional 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?: {};
                      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;
                  }
                  • Optional allowJs?: boolean
                  • Optional allowSyntheticDefaultImports?: boolean
                  • Optional allowUmdGlobalAccess?: boolean
                  • Optional allowUnreachableCode?: boolean
                  • Optional allowUnusedLabels?: boolean
                  • Optional alwaysStrict?: boolean
                  • Optional assumeChangesOnlyAffectDirectDependencies?: boolean
                  • Optional baseUrl?: string
                  • Optional charset?: string
                  • Optional checkJs?: boolean
                  • Optional composite?: boolean
                  • Optional declaration?: boolean
                  • Optional declarationDir?: string
                  • Optional declarationMap?: boolean
                  • Optional disableReferencedProjectLoad?: boolean
                  • Optional disableSizeLimit?: boolean
                  • Optional disableSolutionSearching?: boolean
                  • Optional disableSourceOfProjectReferenceRedirect?: boolean
                  • Optional downlevelIteration?: boolean
                  • Optional emitBOM?: boolean
                  • Optional emitDeclarationOnly?: boolean
                  • Optional emitDecoratorMetadata?: boolean
                  • Optional esModuleInterop?: boolean
                  • Optional exactOptionalPropertyTypes?: boolean
                  • Optional experimentalDecorators?: boolean
                  • Optional forceConsistentCasingInFileNames?: boolean
                  • Optional importHelpers?: boolean
                  • Optional importsNotUsedAsValues?: ImportsNotUsedAsValues
                  • Optional incremental?: boolean
                  • Optional inlineSourceMap?: boolean
                  • Optional inlineSources?: boolean
                  • Optional isolatedModules?: boolean
                  • Optional jsx?: JsxEmit
                  • Optional jsxFactory?: string
                  • Optional jsxFragmentFactory?: string
                  • Optional jsxImportSource?: string
                  • Optional keyofStringsOnly?: boolean
                  • Optional lib?: ((...) | (...))[]
                  • Optional locale?: string
                  • Optional mapRoot?: string
                  • Optional maxNodeModuleJsDepth?: number
                  • Optional module?: ModuleKind
                  • Optional moduleDetection?: ModuleDetectionKind
                  • Optional moduleResolution?: ModuleResolutionKind
                  • Optional moduleSuffixes?: ((...) | (...))[]
                  • Optional newLine?: NewLineKind
                  • Optional noEmit?: boolean
                  • Optional noEmitHelpers?: boolean
                  • Optional noEmitOnError?: boolean
                  • Optional noErrorTruncation?: boolean
                  • Optional noFallthroughCasesInSwitch?: boolean
                  • Optional noImplicitAny?: boolean
                  • Optional noImplicitOverride?: boolean
                  • Optional noImplicitReturns?: boolean
                  • Optional noImplicitThis?: boolean
                  • Optional noImplicitUseStrict?: boolean
                  • Optional noLib?: boolean
                  • Optional noPropertyAccessFromIndexSignature?: boolean
                  • Optional noResolve?: boolean
                  • Optional noStrictGenericChecks?: boolean
                  • Optional noUncheckedIndexedAccess?: boolean
                  • Optional noUnusedLocals?: boolean
                  • Optional noUnusedParameters?: boolean
                  • Optional out?: string
                  • Optional outDir?: string
                  • Optional outFile?: string
                  • Optional paths?: {}
                    • Optional preserveConstEnums?: boolean
                    • Optional preserveSymlinks?: boolean
                    • Optional preserveValueImports?: boolean
                    • Optional project?: string
                    • Optional reactNamespace?: string
                    • Optional removeComments?: boolean
                    • Optional resolveJsonModule?: boolean
                    • Optional rootDir?: string
                    • Optional rootDirs?: ((...) | (...))[]
                    • Optional skipDefaultLibCheck?: boolean
                    • Optional skipLibCheck?: boolean
                    • Optional sourceMap?: boolean
                    • Optional sourceRoot?: string
                    • Optional strict?: boolean
                    • Optional strictBindCallApply?: boolean
                    • Optional strictFunctionTypes?: boolean
                    • Optional strictNullChecks?: boolean
                    • Optional strictPropertyInitialization?: boolean
                    • Optional stripInternal?: boolean
                    • Optional suppressExcessPropertyErrors?: boolean
                    • Optional suppressImplicitAnyIndexErrors?: boolean
                    • Optional target?: ScriptTarget
                    • Optional traceResolution?: boolean
                    • Optional tsBuildInfoFile?: string
                    • Optional typeRoots?: ((...) | (...))[]

                      Paths used to compute primary types search locations

                    • Optional types?: ((...) | (...))[]
                    • Optional useDefineForClassFields?: boolean
                    • Optional useUnknownInCatchVariables?: boolean
                  • Optional defaultNumberType?: "number" | "integer"
                  • Optional defaultProps?: boolean
                  • Optional esModuleInterop?: boolean
                  • Optional excludePrivate?: boolean
                  • Optional id?: string
                  • Optional ignoreErrors?: boolean
                  • Optional include?: (undefined | string)[]
                  • Optional noExtraProps?: boolean
                  • Optional out?: string
                  • Optional propOrder?: boolean
                  • Optional ref?: boolean
                  • Optional rejectDateType?: boolean
                  • Optional required?: boolean
                  • Optional skipLibCheck?: boolean
                  • Optional strictNullChecks?: boolean
                  • Optional titles?: boolean
                  • Optional topRef?: boolean
                  • Optional tsNodeRegister?: boolean
                  • Optional typeOfKeyword?: boolean
                  • Optional uniqueNames?: boolean
                  • Optional validationKeywords?: (undefined | string)[]
              • Optional typeMapping?: {
                    Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
                    Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
                    Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
                    Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
                    Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
                    Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
                    Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
                    Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
                    Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
                    String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
                    Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
                    Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
                }

            Returns Promise<RenderOutput>

          • Parameters

            • model: ConstrainedMetaModel
            • inputModel: InputMetaModel
            • completeModelOptions: Partial<RustRenderCompleteModelOptions>
            • Optional options: {
                  constraints?: {
                      constant?: ConstantConstraint<RustOptions>;
                      enumKey?: EnumKeyConstraint<RustOptions>;
                      enumValue?: EnumValueConstraint<RustOptions>;
                      modelName?: ModelNameConstraint<RustOptions>;
                      propertyKey?: PropertyKeyConstraint<RustOptions>;
                  };
                  defaultPreset?: {
                      enum?: {
                          additionalContent?: ((args) => string | Promise<string>);
                          item?: ((args) => string);
                          itemMacro?: ((args) => string);
                          self?: ((args) => string | Promise<string>);
                          structMacro?: ((args) => string | Promise<string>);
                      };
                      newType?: {
                          additionalContent?: ((args) => string | Promise<string>);
                          field?: ((args) => string | Promise<string>);
                          self?: ((args) => string | Promise<string>);
                          structMacro?: ((args) => string | Promise<string>);
                      };
                      package?: {
                          additionalContent?: ((args) => string | Promise<string>);
                          lib?: ((args) => string);
                          manifest?: ((args) => string);
                          self?: ((args) => string | Promise<string>);
                      };
                      struct?: {
                          additionalContent?: ((args) => string | Promise<string>);
                          field?: ((args) => string | Promise<string>);
                          fieldMacro?: ((args) => string | Promise<string>);
                          self?: ((args) => string | Promise<string>);
                          structMacro?: ((args) => string | Promise<string>);
                      };
                      tuple?: {
                          additionalContent?: ((args) => string | Promise<string>);
                          field?: ((args) => string | Promise<string>);
                          self?: ((args) => string | Promise<string>);
                          structMacro?: ((args) => string | Promise<string>);
                      };
                      union?: {
                          additionalContent?: ((args) => string | Promise<string>);
                          item?: ((args) => string);
                          itemMacro?: ((args) => string);
                          self?: ((args) => string | Promise<string>);
                          structMacro?: ((args) => string | Promise<string>);
                      };
                  };
                  dependencyManager?: (() => AbstractDependencyManager) | {
                      dependencies?: (undefined | string)[];
                      addDependency?(dependency): void;
                  };
                  indentation?: {
                      size?: number;
                      type?: IndentationTypes;
                  };
                  presets?: (undefined | {
                      enum?: {
                          additionalContent?: ((args) => (...) | (...));
                          item?: ((args) => string);
                          itemMacro?: ((args) => string);
                          self?: ((args) => (...) | (...));
                          structMacro?: ((args) => (...) | (...));
                      };
                      newType?: {
                          additionalContent?: ((args) => (...) | (...));
                          field?: ((args) => (...) | (...));
                          self?: ((args) => (...) | (...));
                          structMacro?: ((args) => (...) | (...));
                      };
                      package?: {
                          additionalContent?: ((args) => (...) | (...));
                          lib?: ((args) => string);
                          manifest?: ((args) => string);
                          self?: ((args) => (...) | (...));
                      };
                      struct?: {
                          additionalContent?: ((args) => (...) | (...));
                          field?: ((args) => (...) | (...));
                          fieldMacro?: ((args) => (...) | (...));
                          self?: ((args) => (...) | (...));
                          structMacro?: ((args) => (...) | (...));
                      };
                      tuple?: {
                          additionalContent?: ((args) => (...) | (...));
                          field?: ((args) => (...) | (...));
                          self?: ((args) => (...) | (...));
                          structMacro?: ((args) => (...) | (...));
                      };
                      union?: {
                          additionalContent?: ((args) => (...) | (...));
                          item?: ((args) => string);
                          itemMacro?: ((args) => string);
                          self?: ((args) => (...) | (...));
                          structMacro?: ((args) => (...) | (...));
                      };
                  } | {
                      options?: any;
                      preset?: {
                          enum?: {
                              additionalContent?: (...) | (...);
                              item?: (...) | (...);
                              itemMacro?: (...) | (...);
                              self?: (...) | (...);
                              structMacro?: (...) | (...);
                          };
                          newType?: {
                              additionalContent?: (...) | (...);
                              field?: (...) | (...);
                              self?: (...) | (...);
                              structMacro?: (...) | (...);
                          };
                          package?: {
                              additionalContent?: (...) | (...);
                              lib?: (...) | (...);
                              manifest?: (...) | (...);
                              self?: (...) | (...);
                          };
                          struct?: {
                              additionalContent?: (...) | (...);
                              field?: (...) | (...);
                              fieldMacro?: (...) | (...);
                              self?: (...) | (...);
                              structMacro?: (...) | (...);
                          };
                          tuple?: {
                              additionalContent?: (...) | (...);
                              field?: (...) | (...);
                              self?: (...) | (...);
                              structMacro?: (...) | (...);
                          };
                          union?: {
                              additionalContent?: (...) | (...);
                              item?: (...) | (...);
                              itemMacro?: (...) | (...);
                              self?: (...) | (...);
                              structMacro?: (...) | (...);
                          };
                      };
                  })[];
                  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?: {};
                              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;
                          };
                          defaultNumberType?: "number" | "integer";
                          defaultProps?: boolean;
                          esModuleInterop?: boolean;
                          excludePrivate?: boolean;
                          id?: string;
                          ignoreErrors?: boolean;
                          include?: (undefined | string)[];
                          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?: (undefined | string)[];
                      };
                  };
                  typeMapping?: {
                      Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
                      Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
                      Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
                      Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
                      Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
                      Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
                      Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
                      Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
                      Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
                      String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
                      Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
                      Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
                  };
              }
              • Optional constraints?: {
                    constant?: ConstantConstraint<RustOptions>;
                    enumKey?: EnumKeyConstraint<RustOptions>;
                    enumValue?: EnumValueConstraint<RustOptions>;
                    modelName?: ModelNameConstraint<RustOptions>;
                    propertyKey?: PropertyKeyConstraint<RustOptions>;
                }
              • Optional defaultPreset?: {
                    enum?: {
                        additionalContent?: ((args) => string | Promise<string>);
                        item?: ((args) => string);
                        itemMacro?: ((args) => string);
                        self?: ((args) => string | Promise<string>);
                        structMacro?: ((args) => string | Promise<string>);
                    };
                    newType?: {
                        additionalContent?: ((args) => string | Promise<string>);
                        field?: ((args) => string | Promise<string>);
                        self?: ((args) => string | Promise<string>);
                        structMacro?: ((args) => string | Promise<string>);
                    };
                    package?: {
                        additionalContent?: ((args) => string | Promise<string>);
                        lib?: ((args) => string);
                        manifest?: ((args) => string);
                        self?: ((args) => string | Promise<string>);
                    };
                    struct?: {
                        additionalContent?: ((args) => string | Promise<string>);
                        field?: ((args) => string | Promise<string>);
                        fieldMacro?: ((args) => string | Promise<string>);
                        self?: ((args) => string | Promise<string>);
                        structMacro?: ((args) => string | Promise<string>);
                    };
                    tuple?: {
                        additionalContent?: ((args) => string | Promise<string>);
                        field?: ((args) => string | Promise<string>);
                        self?: ((args) => string | Promise<string>);
                        structMacro?: ((args) => string | Promise<string>);
                    };
                    union?: {
                        additionalContent?: ((args) => string | Promise<string>);
                        item?: ((args) => string);
                        itemMacro?: ((args) => string);
                        self?: ((args) => string | Promise<string>);
                        structMacro?: ((args) => string | Promise<string>);
                    };
                }
                • Optional enum?: {
                      additionalContent?: ((args) => string | Promise<string>);
                      item?: ((args) => string);
                      itemMacro?: ((args) => string);
                      self?: ((args) => string | Promise<string>);
                      structMacro?: ((args) => string | Promise<string>);
                  }
                  • Optional additionalContent?: ((args) => string | Promise<string>)
                  • Optional item?: ((args) => string)
                  • Optional itemMacro?: ((args) => string)
                  • Optional self?: ((args) => string | Promise<string>)
                  • Optional structMacro?: ((args) => string | Promise<string>)
                • Optional newType?: {
                      additionalContent?: ((args) => string | Promise<string>);
                      field?: ((args) => string | Promise<string>);
                      self?: ((args) => string | Promise<string>);
                      structMacro?: ((args) => string | Promise<string>);
                  }
                  • Optional additionalContent?: ((args) => string | Promise<string>)
                  • Optional field?: ((args) => string | Promise<string>)
                  • Optional self?: ((args) => string | Promise<string>)
                  • Optional structMacro?: ((args) => string | Promise<string>)
                • Optional package?: {
                      additionalContent?: ((args) => string | Promise<string>);
                      lib?: ((args) => string);
                      manifest?: ((args) => string);
                      self?: ((args) => string | Promise<string>);
                  }
                  • Optional additionalContent?: ((args) => string | Promise<string>)
                  • Optional lib?: ((args) => string)
                  • Optional manifest?: ((args) => string)
                  • Optional self?: ((args) => string | Promise<string>)
                • Optional struct?: {
                      additionalContent?: ((args) => string | Promise<string>);
                      field?: ((args) => string | Promise<string>);
                      fieldMacro?: ((args) => string | Promise<string>);
                      self?: ((args) => string | Promise<string>);
                      structMacro?: ((args) => string | Promise<string>);
                  }
                  • Optional additionalContent?: ((args) => string | Promise<string>)
                  • Optional field?: ((args) => string | Promise<string>)
                  • Optional fieldMacro?: ((args) => string | Promise<string>)
                  • Optional self?: ((args) => string | Promise<string>)
                  • Optional structMacro?: ((args) => string | Promise<string>)
                • Optional tuple?: {
                      additionalContent?: ((args) => string | Promise<string>);
                      field?: ((args) => string | Promise<string>);
                      self?: ((args) => string | Promise<string>);
                      structMacro?: ((args) => string | Promise<string>);
                  }
                  • Optional additionalContent?: ((args) => string | Promise<string>)
                  • Optional field?: ((args) => string | Promise<string>)
                  • Optional self?: ((args) => string | Promise<string>)
                  • Optional structMacro?: ((args) => string | Promise<string>)
                • Optional union?: {
                      additionalContent?: ((args) => string | Promise<string>);
                      item?: ((args) => string);
                      itemMacro?: ((args) => string);
                      self?: ((args) => string | Promise<string>);
                      structMacro?: ((args) => string | Promise<string>);
                  }
                  • Optional additionalContent?: ((args) => string | Promise<string>)
                  • Optional item?: ((args) => string)
                  • Optional itemMacro?: ((args) => string)
                  • Optional self?: ((args) => string | Promise<string>)
                  • Optional structMacro?: ((args) => string | Promise<string>)
              • Optional dependencyManager?: (() => AbstractDependencyManager) | {
                    dependencies?: (undefined | string)[];
                    addDependency?(dependency): void;
                }

                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.

              • Optional indentation?: {
                    size?: number;
                    type?: IndentationTypes;
                }
              • Optional presets?: (undefined | {
                    enum?: {
                        additionalContent?: ((args) => (...) | (...));
                        item?: ((args) => string);
                        itemMacro?: ((args) => string);
                        self?: ((args) => (...) | (...));
                        structMacro?: ((args) => (...) | (...));
                    };
                    newType?: {
                        additionalContent?: ((args) => (...) | (...));
                        field?: ((args) => (...) | (...));
                        self?: ((args) => (...) | (...));
                        structMacro?: ((args) => (...) | (...));
                    };
                    package?: {
                        additionalContent?: ((args) => (...) | (...));
                        lib?: ((args) => string);
                        manifest?: ((args) => string);
                        self?: ((args) => (...) | (...));
                    };
                    struct?: {
                        additionalContent?: ((args) => (...) | (...));
                        field?: ((args) => (...) | (...));
                        fieldMacro?: ((args) => (...) | (...));
                        self?: ((args) => (...) | (...));
                        structMacro?: ((args) => (...) | (...));
                    };
                    tuple?: {
                        additionalContent?: ((args) => (...) | (...));
                        field?: ((args) => (...) | (...));
                        self?: ((args) => (...) | (...));
                        structMacro?: ((args) => (...) | (...));
                    };
                    union?: {
                        additionalContent?: ((args) => (...) | (...));
                        item?: ((args) => string);
                        itemMacro?: ((args) => string);
                        self?: ((args) => (...) | (...));
                        structMacro?: ((args) => (...) | (...));
                    };
                } | {
                    options?: any;
                    preset?: {
                        enum?: {
                            additionalContent?: (...) | (...);
                            item?: (...) | (...);
                            itemMacro?: (...) | (...);
                            self?: (...) | (...);
                            structMacro?: (...) | (...);
                        };
                        newType?: {
                            additionalContent?: (...) | (...);
                            field?: (...) | (...);
                            self?: (...) | (...);
                            structMacro?: (...) | (...);
                        };
                        package?: {
                            additionalContent?: (...) | (...);
                            lib?: (...) | (...);
                            manifest?: (...) | (...);
                            self?: (...) | (...);
                        };
                        struct?: {
                            additionalContent?: (...) | (...);
                            field?: (...) | (...);
                            fieldMacro?: (...) | (...);
                            self?: (...) | (...);
                            structMacro?: (...) | (...);
                        };
                        tuple?: {
                            additionalContent?: (...) | (...);
                            field?: (...) | (...);
                            self?: (...) | (...);
                            structMacro?: (...) | (...);
                        };
                        union?: {
                            additionalContent?: (...) | (...);
                            item?: (...) | (...);
                            itemMacro?: (...) | (...);
                            self?: (...) | (...);
                            structMacro?: (...) | (...);
                        };
                    };
                })[]
              • Optional 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?: {};
                            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;
                        };
                        defaultNumberType?: "number" | "integer";
                        defaultProps?: boolean;
                        esModuleInterop?: boolean;
                        excludePrivate?: boolean;
                        id?: string;
                        ignoreErrors?: boolean;
                        include?: (undefined | string)[];
                        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?: (undefined | string)[];
                    };
                }
                • Optional asyncapi?: {
                      __unstable?: {
                          resolver?: {
                              resolvers?: (...) | (...);
                          };
                      };
                      applyTraits?: boolean;
                      parseSchemas?: boolean;
                      source?: string;
                      validateOptions?: {
                          __unstable?: {
                              resolver?: (...) | (...);
                          };
                          allowedSeverity?: {
                              error?: (...) | (...) | (...);
                              hint?: (...) | (...) | (...);
                              info?: (...) | (...) | (...);
                              warning?: (...) | (...) | (...);
                          };
                          ignoreUnknownFormat?: boolean;
                      };
                  }
                  • Optional __unstable?: {
                        resolver?: {
                            resolvers?: (...) | (...);
                        };
                    }
                    • Optional resolver?: {
                          resolvers?: (...) | (...);
                      }
                      • Optional resolvers?: (...) | (...)
                  • Optional applyTraits?: boolean
                  • Optional parseSchemas?: boolean
                  • Optional source?: string
                  • Optional validateOptions?: {
                        __unstable?: {
                            resolver?: (...) | (...);
                        };
                        allowedSeverity?: {
                            error?: (...) | (...) | (...);
                            hint?: (...) | (...) | (...);
                            info?: (...) | (...) | (...);
                            warning?: (...) | (...) | (...);
                        };
                        ignoreUnknownFormat?: boolean;
                    }
                    • Optional __unstable?: {
                          resolver?: (...) | (...);
                      }
                      • Optional resolver?: (...) | (...)
                    • Optional allowedSeverity?: {
                          error?: (...) | (...) | (...);
                          hint?: (...) | (...) | (...);
                          info?: (...) | (...) | (...);
                          warning?: (...) | (...) | (...);
                      }
                      • Optional error?: (...) | (...) | (...)
                      • Optional hint?: (...) | (...) | (...)
                      • Optional info?: (...) | (...) | (...)
                      • Optional warning?: (...) | (...) | (...)
                    • Optional ignoreUnknownFormat?: boolean
                • Optional jsonSchema?: {
                      allowInheritance?: boolean;
                      disableCache?: boolean;
                      discriminator?: string;
                      ignoreAdditionalItems?: boolean;
                      ignoreAdditionalProperties?: boolean;
                      interpretSingleEnumAsConst?: boolean;
                      propertyNameForAdditionalProperties?: string;
                  }
                  • Optional allowInheritance?: boolean
                  • Optional disableCache?: 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.

                  • Optional discriminator?: 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.

                  • Optional ignoreAdditionalItems?: 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.

                  • Optional ignoreAdditionalProperties?: 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.

                  • Optional interpretSingleEnumAsConst?: 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.

                  • Optional propertyNameForAdditionalProperties?: string

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

                • Optional openapi?: {
                      includeComponentSchemas?: boolean;
                  }
                  • Optional includeComponentSchemas?: boolean
                • Optional 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?: {};
                          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;
                      };
                      defaultNumberType?: "number" | "integer";
                      defaultProps?: boolean;
                      esModuleInterop?: boolean;
                      excludePrivate?: boolean;
                      id?: string;
                      ignoreErrors?: boolean;
                      include?: (undefined | string)[];
                      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?: (undefined | string)[];
                  }
                  • Optional aliasRef?: boolean
                  • Optional 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?: {};
                        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;
                    }
                    • Optional allowJs?: boolean
                    • Optional allowSyntheticDefaultImports?: boolean
                    • Optional allowUmdGlobalAccess?: boolean
                    • Optional allowUnreachableCode?: boolean
                    • Optional allowUnusedLabels?: boolean
                    • Optional alwaysStrict?: boolean
                    • Optional assumeChangesOnlyAffectDirectDependencies?: boolean
                    • Optional baseUrl?: string
                    • Optional charset?: string
                    • Optional checkJs?: boolean
                    • Optional composite?: boolean
                    • Optional declaration?: boolean
                    • Optional declarationDir?: string
                    • Optional declarationMap?: boolean
                    • Optional disableReferencedProjectLoad?: boolean
                    • Optional disableSizeLimit?: boolean
                    • Optional disableSolutionSearching?: boolean
                    • Optional disableSourceOfProjectReferenceRedirect?: boolean
                    • Optional downlevelIteration?: boolean
                    • Optional emitBOM?: boolean
                    • Optional emitDeclarationOnly?: boolean
                    • Optional emitDecoratorMetadata?: boolean
                    • Optional esModuleInterop?: boolean
                    • Optional exactOptionalPropertyTypes?: boolean
                    • Optional experimentalDecorators?: boolean
                    • Optional forceConsistentCasingInFileNames?: boolean
                    • Optional importHelpers?: boolean
                    • Optional importsNotUsedAsValues?: ImportsNotUsedAsValues
                    • Optional incremental?: boolean
                    • Optional inlineSourceMap?: boolean
                    • Optional inlineSources?: boolean
                    • Optional isolatedModules?: boolean
                    • Optional jsx?: JsxEmit
                    • Optional jsxFactory?: string
                    • Optional jsxFragmentFactory?: string
                    • Optional jsxImportSource?: string
                    • Optional keyofStringsOnly?: boolean
                    • Optional lib?: ((...) | (...))[]
                    • Optional locale?: string
                    • Optional mapRoot?: string
                    • Optional maxNodeModuleJsDepth?: number
                    • Optional module?: ModuleKind
                    • Optional moduleDetection?: ModuleDetectionKind
                    • Optional moduleResolution?: ModuleResolutionKind
                    • Optional moduleSuffixes?: ((...) | (...))[]
                    • Optional newLine?: NewLineKind
                    • Optional noEmit?: boolean
                    • Optional noEmitHelpers?: boolean
                    • Optional noEmitOnError?: boolean
                    • Optional noErrorTruncation?: boolean
                    • Optional noFallthroughCasesInSwitch?: boolean
                    • Optional noImplicitAny?: boolean
                    • Optional noImplicitOverride?: boolean
                    • Optional noImplicitReturns?: boolean
                    • Optional noImplicitThis?: boolean
                    • Optional noImplicitUseStrict?: boolean
                    • Optional noLib?: boolean
                    • Optional noPropertyAccessFromIndexSignature?: boolean
                    • Optional noResolve?: boolean
                    • Optional noStrictGenericChecks?: boolean
                    • Optional noUncheckedIndexedAccess?: boolean
                    • Optional noUnusedLocals?: boolean
                    • Optional noUnusedParameters?: boolean
                    • Optional out?: string
                    • Optional outDir?: string
                    • Optional outFile?: string
                    • Optional paths?: {}
                      • Optional preserveConstEnums?: boolean
                      • Optional preserveSymlinks?: boolean
                      • Optional preserveValueImports?: boolean
                      • Optional project?: string
                      • Optional reactNamespace?: string
                      • Optional removeComments?: boolean
                      • Optional resolveJsonModule?: boolean
                      • Optional rootDir?: string
                      • Optional rootDirs?: ((...) | (...))[]
                      • Optional skipDefaultLibCheck?: boolean
                      • Optional skipLibCheck?: boolean
                      • Optional sourceMap?: boolean
                      • Optional sourceRoot?: string
                      • Optional strict?: boolean
                      • Optional strictBindCallApply?: boolean
                      • Optional strictFunctionTypes?: boolean
                      • Optional strictNullChecks?: boolean
                      • Optional strictPropertyInitialization?: boolean
                      • Optional stripInternal?: boolean
                      • Optional suppressExcessPropertyErrors?: boolean
                      • Optional suppressImplicitAnyIndexErrors?: boolean
                      • Optional target?: ScriptTarget
                      • Optional traceResolution?: boolean
                      • Optional tsBuildInfoFile?: string
                      • Optional typeRoots?: ((...) | (...))[]

                        Paths used to compute primary types search locations

                      • Optional types?: ((...) | (...))[]
                      • Optional useDefineForClassFields?: boolean
                      • Optional useUnknownInCatchVariables?: boolean
                    • Optional defaultNumberType?: "number" | "integer"
                    • Optional defaultProps?: boolean
                    • Optional esModuleInterop?: boolean
                    • Optional excludePrivate?: boolean
                    • Optional id?: string
                    • Optional ignoreErrors?: boolean
                    • Optional include?: (undefined | string)[]
                    • Optional noExtraProps?: boolean
                    • Optional out?: string
                    • Optional propOrder?: boolean
                    • Optional ref?: boolean
                    • Optional rejectDateType?: boolean
                    • Optional required?: boolean
                    • Optional skipLibCheck?: boolean
                    • Optional strictNullChecks?: boolean
                    • Optional titles?: boolean
                    • Optional topRef?: boolean
                    • Optional tsNodeRegister?: boolean
                    • Optional typeOfKeyword?: boolean
                    • Optional uniqueNames?: boolean
                    • Optional validationKeywords?: (undefined | string)[]
                • Optional typeMapping?: {
                      Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
                      Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
                      Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
                      Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
                      Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
                      Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
                      Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
                      Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
                      Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
                      String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
                      Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
                      Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
                  }

              Returns Promise<RenderOutput>

            • Parameters

              • model: ConstrainedMetaModel
              • inputModel: InputMetaModel
              • completeModelOptions: Partial<RustRenderCompleteModelOptions>
              • Optional options: {
                    constraints?: {
                        constant?: ConstantConstraint<RustOptions>;
                        enumKey?: EnumKeyConstraint<RustOptions>;
                        enumValue?: EnumValueConstraint<RustOptions>;
                        modelName?: ModelNameConstraint<RustOptions>;
                        propertyKey?: PropertyKeyConstraint<RustOptions>;
                    };
                    defaultPreset?: {
                        enum?: {
                            additionalContent?: ((args) => string | Promise<string>);
                            item?: ((args) => string);
                            itemMacro?: ((args) => string);
                            self?: ((args) => string | Promise<string>);
                            structMacro?: ((args) => string | Promise<string>);
                        };
                        newType?: {
                            additionalContent?: ((args) => string | Promise<string>);
                            field?: ((args) => string | Promise<string>);
                            self?: ((args) => string | Promise<string>);
                            structMacro?: ((args) => string | Promise<string>);
                        };
                        package?: {
                            additionalContent?: ((args) => string | Promise<string>);
                            lib?: ((args) => string);
                            manifest?: ((args) => string);
                            self?: ((args) => string | Promise<string>);
                        };
                        struct?: {
                            additionalContent?: ((args) => string | Promise<string>);
                            field?: ((args) => string | Promise<string>);
                            fieldMacro?: ((args) => string | Promise<string>);
                            self?: ((args) => string | Promise<string>);
                            structMacro?: ((args) => string | Promise<string>);
                        };
                        tuple?: {
                            additionalContent?: ((args) => string | Promise<string>);
                            field?: ((args) => string | Promise<string>);
                            self?: ((args) => string | Promise<string>);
                            structMacro?: ((args) => string | Promise<string>);
                        };
                        union?: {
                            additionalContent?: ((args) => string | Promise<string>);
                            item?: ((args) => string);
                            itemMacro?: ((args) => string);
                            self?: ((args) => string | Promise<string>);
                            structMacro?: ((args) => string | Promise<string>);
                        };
                    };
                    dependencyManager?: (() => AbstractDependencyManager) | {
                        dependencies?: (undefined | string)[];
                        addDependency?(dependency): void;
                    };
                    indentation?: {
                        size?: number;
                        type?: IndentationTypes;
                    };
                    presets?: (undefined | {
                        enum?: {
                            additionalContent?: ((args) => (...) | (...));
                            item?: ((args) => string);
                            itemMacro?: ((args) => string);
                            self?: ((args) => (...) | (...));
                            structMacro?: ((args) => (...) | (...));
                        };
                        newType?: {
                            additionalContent?: ((args) => (...) | (...));
                            field?: ((args) => (...) | (...));
                            self?: ((args) => (...) | (...));
                            structMacro?: ((args) => (...) | (...));
                        };
                        package?: {
                            additionalContent?: ((args) => (...) | (...));
                            lib?: ((args) => string);
                            manifest?: ((args) => string);
                            self?: ((args) => (...) | (...));
                        };
                        struct?: {
                            additionalContent?: ((args) => (...) | (...));
                            field?: ((args) => (...) | (...));
                            fieldMacro?: ((args) => (...) | (...));
                            self?: ((args) => (...) | (...));
                            structMacro?: ((args) => (...) | (...));
                        };
                        tuple?: {
                            additionalContent?: ((args) => (...) | (...));
                            field?: ((args) => (...) | (...));
                            self?: ((args) => (...) | (...));
                            structMacro?: ((args) => (...) | (...));
                        };
                        union?: {
                            additionalContent?: ((args) => (...) | (...));
                            item?: ((args) => string);
                            itemMacro?: ((args) => string);
                            self?: ((args) => (...) | (...));
                            structMacro?: ((args) => (...) | (...));
                        };
                    } | {
                        options?: any;
                        preset?: {
                            enum?: {
                                additionalContent?: (...) | (...);
                                item?: (...) | (...);
                                itemMacro?: (...) | (...);
                                self?: (...) | (...);
                                structMacro?: (...) | (...);
                            };
                            newType?: {
                                additionalContent?: (...) | (...);
                                field?: (...) | (...);
                                self?: (...) | (...);
                                structMacro?: (...) | (...);
                            };
                            package?: {
                                additionalContent?: (...) | (...);
                                lib?: (...) | (...);
                                manifest?: (...) | (...);
                                self?: (...) | (...);
                            };
                            struct?: {
                                additionalContent?: (...) | (...);
                                field?: (...) | (...);
                                fieldMacro?: (...) | (...);
                                self?: (...) | (...);
                                structMacro?: (...) | (...);
                            };
                            tuple?: {
                                additionalContent?: (...) | (...);
                                field?: (...) | (...);
                                self?: (...) | (...);
                                structMacro?: (...) | (...);
                            };
                            union?: {
                                additionalContent?: (...) | (...);
                                item?: (...) | (...);
                                itemMacro?: (...) | (...);
                                self?: (...) | (...);
                                structMacro?: (...) | (...);
                            };
                        };
                    })[];
                    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?: {};
                                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;
                            };
                            defaultNumberType?: "number" | "integer";
                            defaultProps?: boolean;
                            esModuleInterop?: boolean;
                            excludePrivate?: boolean;
                            id?: string;
                            ignoreErrors?: boolean;
                            include?: (undefined | string)[];
                            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?: (undefined | string)[];
                        };
                    };
                    typeMapping?: {
                        Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
                        Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
                        Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
                        Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
                        Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
                        Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
                        Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
                        Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
                        Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
                        String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
                        Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
                        Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
                    };
                }
                • Optional constraints?: {
                      constant?: ConstantConstraint<RustOptions>;
                      enumKey?: EnumKeyConstraint<RustOptions>;
                      enumValue?: EnumValueConstraint<RustOptions>;
                      modelName?: ModelNameConstraint<RustOptions>;
                      propertyKey?: PropertyKeyConstraint<RustOptions>;
                  }
                • Optional defaultPreset?: {
                      enum?: {
                          additionalContent?: ((args) => string | Promise<string>);
                          item?: ((args) => string);
                          itemMacro?: ((args) => string);
                          self?: ((args) => string | Promise<string>);
                          structMacro?: ((args) => string | Promise<string>);
                      };
                      newType?: {
                          additionalContent?: ((args) => string | Promise<string>);
                          field?: ((args) => string | Promise<string>);
                          self?: ((args) => string | Promise<string>);
                          structMacro?: ((args) => string | Promise<string>);
                      };
                      package?: {
                          additionalContent?: ((args) => string | Promise<string>);
                          lib?: ((args) => string);
                          manifest?: ((args) => string);
                          self?: ((args) => string | Promise<string>);
                      };
                      struct?: {
                          additionalContent?: ((args) => string | Promise<string>);
                          field?: ((args) => string | Promise<string>);
                          fieldMacro?: ((args) => string | Promise<string>);
                          self?: ((args) => string | Promise<string>);
                          structMacro?: ((args) => string | Promise<string>);
                      };
                      tuple?: {
                          additionalContent?: ((args) => string | Promise<string>);
                          field?: ((args) => string | Promise<string>);
                          self?: ((args) => string | Promise<string>);
                          structMacro?: ((args) => string | Promise<string>);
                      };
                      union?: {
                          additionalContent?: ((args) => string | Promise<string>);
                          item?: ((args) => string);
                          itemMacro?: ((args) => string);
                          self?: ((args) => string | Promise<string>);
                          structMacro?: ((args) => string | Promise<string>);
                      };
                  }
                  • Optional enum?: {
                        additionalContent?: ((args) => string | Promise<string>);
                        item?: ((args) => string);
                        itemMacro?: ((args) => string);
                        self?: ((args) => string | Promise<string>);
                        structMacro?: ((args) => string | Promise<string>);
                    }
                    • Optional additionalContent?: ((args) => string | Promise<string>)
                    • Optional item?: ((args) => string)
                    • Optional itemMacro?: ((args) => string)
                    • Optional self?: ((args) => string | Promise<string>)
                    • Optional structMacro?: ((args) => string | Promise<string>)
                  • Optional newType?: {
                        additionalContent?: ((args) => string | Promise<string>);
                        field?: ((args) => string | Promise<string>);
                        self?: ((args) => string | Promise<string>);
                        structMacro?: ((args) => string | Promise<string>);
                    }
                    • Optional additionalContent?: ((args) => string | Promise<string>)
                    • Optional field?: ((args) => string | Promise<string>)
                    • Optional self?: ((args) => string | Promise<string>)
                    • Optional structMacro?: ((args) => string | Promise<string>)
                  • Optional package?: {
                        additionalContent?: ((args) => string | Promise<string>);
                        lib?: ((args) => string);
                        manifest?: ((args) => string);
                        self?: ((args) => string | Promise<string>);
                    }
                    • Optional additionalContent?: ((args) => string | Promise<string>)
                    • Optional lib?: ((args) => string)
                    • Optional manifest?: ((args) => string)
                    • Optional self?: ((args) => string | Promise<string>)
                  • Optional struct?: {
                        additionalContent?: ((args) => string | Promise<string>);
                        field?: ((args) => string | Promise<string>);
                        fieldMacro?: ((args) => string | Promise<string>);
                        self?: ((args) => string | Promise<string>);
                        structMacro?: ((args) => string | Promise<string>);
                    }
                    • Optional additionalContent?: ((args) => string | Promise<string>)
                    • Optional field?: ((args) => string | Promise<string>)
                    • Optional fieldMacro?: ((args) => string | Promise<string>)
                    • Optional self?: ((args) => string | Promise<string>)
                    • Optional structMacro?: ((args) => string | Promise<string>)
                  • Optional tuple?: {
                        additionalContent?: ((args) => string | Promise<string>);
                        field?: ((args) => string | Promise<string>);
                        self?: ((args) => string | Promise<string>);
                        structMacro?: ((args) => string | Promise<string>);
                    }
                    • Optional additionalContent?: ((args) => string | Promise<string>)
                    • Optional field?: ((args) => string | Promise<string>)
                    • Optional self?: ((args) => string | Promise<string>)
                    • Optional structMacro?: ((args) => string | Promise<string>)
                  • Optional union?: {
                        additionalContent?: ((args) => string | Promise<string>);
                        item?: ((args) => string);
                        itemMacro?: ((args) => string);
                        self?: ((args) => string | Promise<string>);
                        structMacro?: ((args) => string | Promise<string>);
                    }
                    • Optional additionalContent?: ((args) => string | Promise<string>)
                    • Optional item?: ((args) => string)
                    • Optional itemMacro?: ((args) => string)
                    • Optional self?: ((args) => string | Promise<string>)
                    • Optional structMacro?: ((args) => string | Promise<string>)
                • Optional dependencyManager?: (() => AbstractDependencyManager) | {
                      dependencies?: (undefined | string)[];
                      addDependency?(dependency): void;
                  }

                  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.

                • Optional indentation?: {
                      size?: number;
                      type?: IndentationTypes;
                  }
                • Optional presets?: (undefined | {
                      enum?: {
                          additionalContent?: ((args) => (...) | (...));
                          item?: ((args) => string);
                          itemMacro?: ((args) => string);
                          self?: ((args) => (...) | (...));
                          structMacro?: ((args) => (...) | (...));
                      };
                      newType?: {
                          additionalContent?: ((args) => (...) | (...));
                          field?: ((args) => (...) | (...));
                          self?: ((args) => (...) | (...));
                          structMacro?: ((args) => (...) | (...));
                      };
                      package?: {
                          additionalContent?: ((args) => (...) | (...));
                          lib?: ((args) => string);
                          manifest?: ((args) => string);
                          self?: ((args) => (...) | (...));
                      };
                      struct?: {
                          additionalContent?: ((args) => (...) | (...));
                          field?: ((args) => (...) | (...));
                          fieldMacro?: ((args) => (...) | (...));
                          self?: ((args) => (...) | (...));
                          structMacro?: ((args) => (...) | (...));
                      };
                      tuple?: {
                          additionalContent?: ((args) => (...) | (...));
                          field?: ((args) => (...) | (...));
                          self?: ((args) => (...) | (...));
                          structMacro?: ((args) => (...) | (...));
                      };
                      union?: {
                          additionalContent?: ((args) => (...) | (...));
                          item?: ((args) => string);
                          itemMacro?: ((args) => string);
                          self?: ((args) => (...) | (...));
                          structMacro?: ((args) => (...) | (...));
                      };
                  } | {
                      options?: any;
                      preset?: {
                          enum?: {
                              additionalContent?: (...) | (...);
                              item?: (...) | (...);
                              itemMacro?: (...) | (...);
                              self?: (...) | (...);
                              structMacro?: (...) | (...);
                          };
                          newType?: {
                              additionalContent?: (...) | (...);
                              field?: (...) | (...);
                              self?: (...) | (...);
                              structMacro?: (...) | (...);
                          };
                          package?: {
                              additionalContent?: (...) | (...);
                              lib?: (...) | (...);
                              manifest?: (...) | (...);
                              self?: (...) | (...);
                          };
                          struct?: {
                              additionalContent?: (...) | (...);
                              field?: (...) | (...);
                              fieldMacro?: (...) | (...);
                              self?: (...) | (...);
                              structMacro?: (...) | (...);
                          };
                          tuple?: {
                              additionalContent?: (...) | (...);
                              field?: (...) | (...);
                              self?: (...) | (...);
                              structMacro?: (...) | (...);
                          };
                          union?: {
                              additionalContent?: (...) | (...);
                              item?: (...) | (...);
                              itemMacro?: (...) | (...);
                              self?: (...) | (...);
                              structMacro?: (...) | (...);
                          };
                      };
                  })[]
                • Optional 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?: {};
                              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;
                          };
                          defaultNumberType?: "number" | "integer";
                          defaultProps?: boolean;
                          esModuleInterop?: boolean;
                          excludePrivate?: boolean;
                          id?: string;
                          ignoreErrors?: boolean;
                          include?: (undefined | string)[];
                          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?: (undefined | string)[];
                      };
                  }
                  • Optional asyncapi?: {
                        __unstable?: {
                            resolver?: {
                                resolvers?: (...) | (...);
                            };
                        };
                        applyTraits?: boolean;
                        parseSchemas?: boolean;
                        source?: string;
                        validateOptions?: {
                            __unstable?: {
                                resolver?: (...) | (...);
                            };
                            allowedSeverity?: {
                                error?: (...) | (...) | (...);
                                hint?: (...) | (...) | (...);
                                info?: (...) | (...) | (...);
                                warning?: (...) | (...) | (...);
                            };
                            ignoreUnknownFormat?: boolean;
                        };
                    }
                    • Optional __unstable?: {
                          resolver?: {
                              resolvers?: (...) | (...);
                          };
                      }
                      • Optional resolver?: {
                            resolvers?: (...) | (...);
                        }
                        • Optional resolvers?: (...) | (...)
                    • Optional applyTraits?: boolean
                    • Optional parseSchemas?: boolean
                    • Optional source?: string
                    • Optional validateOptions?: {
                          __unstable?: {
                              resolver?: (...) | (...);
                          };
                          allowedSeverity?: {
                              error?: (...) | (...) | (...);
                              hint?: (...) | (...) | (...);
                              info?: (...) | (...) | (...);
                              warning?: (...) | (...) | (...);
                          };
                          ignoreUnknownFormat?: boolean;
                      }
                      • Optional __unstable?: {
                            resolver?: (...) | (...);
                        }
                        • Optional resolver?: (...) | (...)
                      • Optional allowedSeverity?: {
                            error?: (...) | (...) | (...);
                            hint?: (...) | (...) | (...);
                            info?: (...) | (...) | (...);
                            warning?: (...) | (...) | (...);
                        }
                        • Optional error?: (...) | (...) | (...)
                        • Optional hint?: (...) | (...) | (...)
                        • Optional info?: (...) | (...) | (...)
                        • Optional warning?: (...) | (...) | (...)
                      • Optional ignoreUnknownFormat?: boolean
                  • Optional jsonSchema?: {
                        allowInheritance?: boolean;
                        disableCache?: boolean;
                        discriminator?: string;
                        ignoreAdditionalItems?: boolean;
                        ignoreAdditionalProperties?: boolean;
                        interpretSingleEnumAsConst?: boolean;
                        propertyNameForAdditionalProperties?: string;
                    }
                    • Optional allowInheritance?: boolean
                    • Optional disableCache?: 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.

                    • Optional discriminator?: 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.

                    • Optional ignoreAdditionalItems?: 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.

                    • Optional ignoreAdditionalProperties?: 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.

                    • Optional interpretSingleEnumAsConst?: 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.

                    • Optional propertyNameForAdditionalProperties?: string

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

                  • Optional openapi?: {
                        includeComponentSchemas?: boolean;
                    }
                    • Optional includeComponentSchemas?: boolean
                  • Optional 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?: {};
                            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;
                        };
                        defaultNumberType?: "number" | "integer";
                        defaultProps?: boolean;
                        esModuleInterop?: boolean;
                        excludePrivate?: boolean;
                        id?: string;
                        ignoreErrors?: boolean;
                        include?: (undefined | string)[];
                        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?: (undefined | string)[];
                    }
                    • Optional aliasRef?: boolean
                    • Optional 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?: {};
                          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;
                      }
                      • Optional allowJs?: boolean
                      • Optional allowSyntheticDefaultImports?: boolean
                      • Optional allowUmdGlobalAccess?: boolean
                      • Optional allowUnreachableCode?: boolean
                      • Optional allowUnusedLabels?: boolean
                      • Optional alwaysStrict?: boolean
                      • Optional assumeChangesOnlyAffectDirectDependencies?: boolean
                      • Optional baseUrl?: string
                      • Optional charset?: string
                      • Optional checkJs?: boolean
                      • Optional composite?: boolean
                      • Optional declaration?: boolean
                      • Optional declarationDir?: string
                      • Optional declarationMap?: boolean
                      • Optional disableReferencedProjectLoad?: boolean
                      • Optional disableSizeLimit?: boolean
                      • Optional disableSolutionSearching?: boolean
                      • Optional disableSourceOfProjectReferenceRedirect?: boolean
                      • Optional downlevelIteration?: boolean
                      • Optional emitBOM?: boolean
                      • Optional emitDeclarationOnly?: boolean
                      • Optional emitDecoratorMetadata?: boolean
                      • Optional esModuleInterop?: boolean
                      • Optional exactOptionalPropertyTypes?: boolean
                      • Optional experimentalDecorators?: boolean
                      • Optional forceConsistentCasingInFileNames?: boolean
                      • Optional importHelpers?: boolean
                      • Optional importsNotUsedAsValues?: ImportsNotUsedAsValues
                      • Optional incremental?: boolean
                      • Optional inlineSourceMap?: boolean
                      • Optional inlineSources?: boolean
                      • Optional isolatedModules?: boolean
                      • Optional jsx?: JsxEmit
                      • Optional jsxFactory?: string
                      • Optional jsxFragmentFactory?: string
                      • Optional jsxImportSource?: string
                      • Optional keyofStringsOnly?: boolean
                      • Optional lib?: ((...) | (...))[]
                      • Optional locale?: string
                      • Optional mapRoot?: string
                      • Optional maxNodeModuleJsDepth?: number
                      • Optional module?: ModuleKind
                      • Optional moduleDetection?: ModuleDetectionKind
                      • Optional moduleResolution?: ModuleResolutionKind
                      • Optional moduleSuffixes?: ((...) | (...))[]
                      • Optional newLine?: NewLineKind
                      • Optional noEmit?: boolean
                      • Optional noEmitHelpers?: boolean
                      • Optional noEmitOnError?: boolean
                      • Optional noErrorTruncation?: boolean
                      • Optional noFallthroughCasesInSwitch?: boolean
                      • Optional noImplicitAny?: boolean
                      • Optional noImplicitOverride?: boolean
                      • Optional noImplicitReturns?: boolean
                      • Optional noImplicitThis?: boolean
                      • Optional noImplicitUseStrict?: boolean
                      • Optional noLib?: boolean
                      • Optional noPropertyAccessFromIndexSignature?: boolean
                      • Optional noResolve?: boolean
                      • Optional noStrictGenericChecks?: boolean
                      • Optional noUncheckedIndexedAccess?: boolean
                      • Optional noUnusedLocals?: boolean
                      • Optional noUnusedParameters?: boolean
                      • Optional out?: string
                      • Optional outDir?: string
                      • Optional outFile?: string
                      • Optional paths?: {}
                        • Optional preserveConstEnums?: boolean
                        • Optional preserveSymlinks?: boolean
                        • Optional preserveValueImports?: boolean
                        • Optional project?: string
                        • Optional reactNamespace?: string
                        • Optional removeComments?: boolean
                        • Optional resolveJsonModule?: boolean
                        • Optional rootDir?: string
                        • Optional rootDirs?: ((...) | (...))[]
                        • Optional skipDefaultLibCheck?: boolean
                        • Optional skipLibCheck?: boolean
                        • Optional sourceMap?: boolean
                        • Optional sourceRoot?: string
                        • Optional strict?: boolean
                        • Optional strictBindCallApply?: boolean
                        • Optional strictFunctionTypes?: boolean
                        • Optional strictNullChecks?: boolean
                        • Optional strictPropertyInitialization?: boolean
                        • Optional stripInternal?: boolean
                        • Optional suppressExcessPropertyErrors?: boolean
                        • Optional suppressImplicitAnyIndexErrors?: boolean
                        • Optional target?: ScriptTarget
                        • Optional traceResolution?: boolean
                        • Optional tsBuildInfoFile?: string
                        • Optional typeRoots?: ((...) | (...))[]

                          Paths used to compute primary types search locations

                        • Optional types?: ((...) | (...))[]
                        • Optional useDefineForClassFields?: boolean
                        • Optional useUnknownInCatchVariables?: boolean
                      • Optional defaultNumberType?: "number" | "integer"
                      • Optional defaultProps?: boolean
                      • Optional esModuleInterop?: boolean
                      • Optional excludePrivate?: boolean
                      • Optional id?: string
                      • Optional ignoreErrors?: boolean
                      • Optional include?: (undefined | string)[]
                      • Optional noExtraProps?: boolean
                      • Optional out?: string
                      • Optional propOrder?: boolean
                      • Optional ref?: boolean
                      • Optional rejectDateType?: boolean
                      • Optional required?: boolean
                      • Optional skipLibCheck?: boolean
                      • Optional strictNullChecks?: boolean
                      • Optional titles?: boolean
                      • Optional topRef?: boolean
                      • Optional tsNodeRegister?: boolean
                      • Optional typeOfKeyword?: boolean
                      • Optional uniqueNames?: boolean
                      • Optional validationKeywords?: (undefined | string)[]
                  • Optional typeMapping?: {
                        Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
                        Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
                        Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
                        Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
                        Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
                        Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
                        Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
                        Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
                        Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
                        String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
                        Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
                        Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
                    }

                Returns Promise<RenderOutput>

              • Parameters

                • model: ConstrainedMetaModel
                • inputModel: InputMetaModel
                • Optional options: {
                      constraints?: {
                          constant?: ConstantConstraint<RustOptions>;
                          enumKey?: EnumKeyConstraint<RustOptions>;
                          enumValue?: EnumValueConstraint<RustOptions>;
                          modelName?: ModelNameConstraint<RustOptions>;
                          propertyKey?: PropertyKeyConstraint<RustOptions>;
                      };
                      defaultPreset?: {
                          enum?: {
                              additionalContent?: ((args) => string | Promise<string>);
                              item?: ((args) => string);
                              itemMacro?: ((args) => string);
                              self?: ((args) => string | Promise<string>);
                              structMacro?: ((args) => string | Promise<string>);
                          };
                          newType?: {
                              additionalContent?: ((args) => string | Promise<string>);
                              field?: ((args) => string | Promise<string>);
                              self?: ((args) => string | Promise<string>);
                              structMacro?: ((args) => string | Promise<string>);
                          };
                          package?: {
                              additionalContent?: ((args) => string | Promise<string>);
                              lib?: ((args) => string);
                              manifest?: ((args) => string);
                              self?: ((args) => string | Promise<string>);
                          };
                          struct?: {
                              additionalContent?: ((args) => string | Promise<string>);
                              field?: ((args) => string | Promise<string>);
                              fieldMacro?: ((args) => string | Promise<string>);
                              self?: ((args) => string | Promise<string>);
                              structMacro?: ((args) => string | Promise<string>);
                          };
                          tuple?: {
                              additionalContent?: ((args) => string | Promise<string>);
                              field?: ((args) => string | Promise<string>);
                              self?: ((args) => string | Promise<string>);
                              structMacro?: ((args) => string | Promise<string>);
                          };
                          union?: {
                              additionalContent?: ((args) => string | Promise<string>);
                              item?: ((args) => string);
                              itemMacro?: ((args) => string);
                              self?: ((args) => string | Promise<string>);
                              structMacro?: ((args) => string | Promise<string>);
                          };
                      };
                      dependencyManager?: (() => AbstractDependencyManager) | {
                          dependencies?: (undefined | string)[];
                          addDependency?(dependency): void;
                      };
                      indentation?: {
                          size?: number;
                          type?: IndentationTypes;
                      };
                      presets?: (undefined | {
                          enum?: {
                              additionalContent?: ((args) => (...) | (...));
                              item?: ((args) => string);
                              itemMacro?: ((args) => string);
                              self?: ((args) => (...) | (...));
                              structMacro?: ((args) => (...) | (...));
                          };
                          newType?: {
                              additionalContent?: ((args) => (...) | (...));
                              field?: ((args) => (...) | (...));
                              self?: ((args) => (...) | (...));
                              structMacro?: ((args) => (...) | (...));
                          };
                          package?: {
                              additionalContent?: ((args) => (...) | (...));
                              lib?: ((args) => string);
                              manifest?: ((args) => string);
                              self?: ((args) => (...) | (...));
                          };
                          struct?: {
                              additionalContent?: ((args) => (...) | (...));
                              field?: ((args) => (...) | (...));
                              fieldMacro?: ((args) => (...) | (...));
                              self?: ((args) => (...) | (...));
                              structMacro?: ((args) => (...) | (...));
                          };
                          tuple?: {
                              additionalContent?: ((args) => (...) | (...));
                              field?: ((args) => (...) | (...));
                              self?: ((args) => (...) | (...));
                              structMacro?: ((args) => (...) | (...));
                          };
                          union?: {
                              additionalContent?: ((args) => (...) | (...));
                              item?: ((args) => string);
                              itemMacro?: ((args) => string);
                              self?: ((args) => (...) | (...));
                              structMacro?: ((args) => (...) | (...));
                          };
                      } | {
                          options?: any;
                          preset?: {
                              enum?: {
                                  additionalContent?: (...) | (...);
                                  item?: (...) | (...);
                                  itemMacro?: (...) | (...);
                                  self?: (...) | (...);
                                  structMacro?: (...) | (...);
                              };
                              newType?: {
                                  additionalContent?: (...) | (...);
                                  field?: (...) | (...);
                                  self?: (...) | (...);
                                  structMacro?: (...) | (...);
                              };
                              package?: {
                                  additionalContent?: (...) | (...);
                                  lib?: (...) | (...);
                                  manifest?: (...) | (...);
                                  self?: (...) | (...);
                              };
                              struct?: {
                                  additionalContent?: (...) | (...);
                                  field?: (...) | (...);
                                  fieldMacro?: (...) | (...);
                                  self?: (...) | (...);
                                  structMacro?: (...) | (...);
                              };
                              tuple?: {
                                  additionalContent?: (...) | (...);
                                  field?: (...) | (...);
                                  self?: (...) | (...);
                                  structMacro?: (...) | (...);
                              };
                              union?: {
                                  additionalContent?: (...) | (...);
                                  item?: (...) | (...);
                                  itemMacro?: (...) | (...);
                                  self?: (...) | (...);
                                  structMacro?: (...) | (...);
                              };
                          };
                      })[];
                      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?: {};
                                  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;
                              };
                              defaultNumberType?: "number" | "integer";
                              defaultProps?: boolean;
                              esModuleInterop?: boolean;
                              excludePrivate?: boolean;
                              id?: string;
                              ignoreErrors?: boolean;
                              include?: (undefined | string)[];
                              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?: (undefined | string)[];
                          };
                      };
                      typeMapping?: {
                          Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
                          Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
                          Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
                          Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
                          Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
                          Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
                          Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
                          Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
                          Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
                          String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
                          Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
                          Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
                      };
                  }
                  • Optional constraints?: {
                        constant?: ConstantConstraint<RustOptions>;
                        enumKey?: EnumKeyConstraint<RustOptions>;
                        enumValue?: EnumValueConstraint<RustOptions>;
                        modelName?: ModelNameConstraint<RustOptions>;
                        propertyKey?: PropertyKeyConstraint<RustOptions>;
                    }
                  • Optional defaultPreset?: {
                        enum?: {
                            additionalContent?: ((args) => string | Promise<string>);
                            item?: ((args) => string);
                            itemMacro?: ((args) => string);
                            self?: ((args) => string | Promise<string>);
                            structMacro?: ((args) => string | Promise<string>);
                        };
                        newType?: {
                            additionalContent?: ((args) => string | Promise<string>);
                            field?: ((args) => string | Promise<string>);
                            self?: ((args) => string | Promise<string>);
                            structMacro?: ((args) => string | Promise<string>);
                        };
                        package?: {
                            additionalContent?: ((args) => string | Promise<string>);
                            lib?: ((args) => string);
                            manifest?: ((args) => string);
                            self?: ((args) => string | Promise<string>);
                        };
                        struct?: {
                            additionalContent?: ((args) => string | Promise<string>);
                            field?: ((args) => string | Promise<string>);
                            fieldMacro?: ((args) => string | Promise<string>);
                            self?: ((args) => string | Promise<string>);
                            structMacro?: ((args) => string | Promise<string>);
                        };
                        tuple?: {
                            additionalContent?: ((args) => string | Promise<string>);
                            field?: ((args) => string | Promise<string>);
                            self?: ((args) => string | Promise<string>);
                            structMacro?: ((args) => string | Promise<string>);
                        };
                        union?: {
                            additionalContent?: ((args) => string | Promise<string>);
                            item?: ((args) => string);
                            itemMacro?: ((args) => string);
                            self?: ((args) => string | Promise<string>);
                            structMacro?: ((args) => string | Promise<string>);
                        };
                    }
                    • Optional enum?: {
                          additionalContent?: ((args) => string | Promise<string>);
                          item?: ((args) => string);
                          itemMacro?: ((args) => string);
                          self?: ((args) => string | Promise<string>);
                          structMacro?: ((args) => string | Promise<string>);
                      }
                      • Optional additionalContent?: ((args) => string | Promise<string>)
                      • Optional item?: ((args) => string)
                      • Optional itemMacro?: ((args) => string)
                      • Optional self?: ((args) => string | Promise<string>)
                      • Optional structMacro?: ((args) => string | Promise<string>)
                    • Optional newType?: {
                          additionalContent?: ((args) => string | Promise<string>);
                          field?: ((args) => string | Promise<string>);
                          self?: ((args) => string | Promise<string>);
                          structMacro?: ((args) => string | Promise<string>);
                      }
                      • Optional additionalContent?: ((args) => string | Promise<string>)
                      • Optional field?: ((args) => string | Promise<string>)
                      • Optional self?: ((args) => string | Promise<string>)
                      • Optional structMacro?: ((args) => string | Promise<string>)
                    • Optional package?: {
                          additionalContent?: ((args) => string | Promise<string>);
                          lib?: ((args) => string);
                          manifest?: ((args) => string);
                          self?: ((args) => string | Promise<string>);
                      }
                      • Optional additionalContent?: ((args) => string | Promise<string>)
                      • Optional lib?: ((args) => string)
                      • Optional manifest?: ((args) => string)
                      • Optional self?: ((args) => string | Promise<string>)
                    • Optional struct?: {
                          additionalContent?: ((args) => string | Promise<string>);
                          field?: ((args) => string | Promise<string>);
                          fieldMacro?: ((args) => string | Promise<string>);
                          self?: ((args) => string | Promise<string>);
                          structMacro?: ((args) => string | Promise<string>);
                      }
                      • Optional additionalContent?: ((args) => string | Promise<string>)
                      • Optional field?: ((args) => string | Promise<string>)
                      • Optional fieldMacro?: ((args) => string | Promise<string>)
                      • Optional self?: ((args) => string | Promise<string>)
                      • Optional structMacro?: ((args) => string | Promise<string>)
                    • Optional tuple?: {
                          additionalContent?: ((args) => string | Promise<string>);
                          field?: ((args) => string | Promise<string>);
                          self?: ((args) => string | Promise<string>);
                          structMacro?: ((args) => string | Promise<string>);
                      }
                      • Optional additionalContent?: ((args) => string | Promise<string>)
                      • Optional field?: ((args) => string | Promise<string>)
                      • Optional self?: ((args) => string | Promise<string>)
                      • Optional structMacro?: ((args) => string | Promise<string>)
                    • Optional union?: {
                          additionalContent?: ((args) => string | Promise<string>);
                          item?: ((args) => string);
                          itemMacro?: ((args) => string);
                          self?: ((args) => string | Promise<string>);
                          structMacro?: ((args) => string | Promise<string>);
                      }
                      • Optional additionalContent?: ((args) => string | Promise<string>)
                      • Optional item?: ((args) => string)
                      • Optional itemMacro?: ((args) => string)
                      • Optional self?: ((args) => string | Promise<string>)
                      • Optional structMacro?: ((args) => string | Promise<string>)
                  • Optional dependencyManager?: (() => AbstractDependencyManager) | {
                        dependencies?: (undefined | string)[];
                        addDependency?(dependency): void;
                    }

                    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.

                  • Optional indentation?: {
                        size?: number;
                        type?: IndentationTypes;
                    }
                  • Optional presets?: (undefined | {
                        enum?: {
                            additionalContent?: ((args) => (...) | (...));
                            item?: ((args) => string);
                            itemMacro?: ((args) => string);
                            self?: ((args) => (...) | (...));
                            structMacro?: ((args) => (...) | (...));
                        };
                        newType?: {
                            additionalContent?: ((args) => (...) | (...));
                            field?: ((args) => (...) | (...));
                            self?: ((args) => (...) | (...));
                            structMacro?: ((args) => (...) | (...));
                        };
                        package?: {
                            additionalContent?: ((args) => (...) | (...));
                            lib?: ((args) => string);
                            manifest?: ((args) => string);
                            self?: ((args) => (...) | (...));
                        };
                        struct?: {
                            additionalContent?: ((args) => (...) | (...));
                            field?: ((args) => (...) | (...));
                            fieldMacro?: ((args) => (...) | (...));
                            self?: ((args) => (...) | (...));
                            structMacro?: ((args) => (...) | (...));
                        };
                        tuple?: {
                            additionalContent?: ((args) => (...) | (...));
                            field?: ((args) => (...) | (...));
                            self?: ((args) => (...) | (...));
                            structMacro?: ((args) => (...) | (...));
                        };
                        union?: {
                            additionalContent?: ((args) => (...) | (...));
                            item?: ((args) => string);
                            itemMacro?: ((args) => string);
                            self?: ((args) => (...) | (...));
                            structMacro?: ((args) => (...) | (...));
                        };
                    } | {
                        options?: any;
                        preset?: {
                            enum?: {
                                additionalContent?: (...) | (...);
                                item?: (...) | (...);
                                itemMacro?: (...) | (...);
                                self?: (...) | (...);
                                structMacro?: (...) | (...);
                            };
                            newType?: {
                                additionalContent?: (...) | (...);
                                field?: (...) | (...);
                                self?: (...) | (...);
                                structMacro?: (...) | (...);
                            };
                            package?: {
                                additionalContent?: (...) | (...);
                                lib?: (...) | (...);
                                manifest?: (...) | (...);
                                self?: (...) | (...);
                            };
                            struct?: {
                                additionalContent?: (...) | (...);
                                field?: (...) | (...);
                                fieldMacro?: (...) | (...);
                                self?: (...) | (...);
                                structMacro?: (...) | (...);
                            };
                            tuple?: {
                                additionalContent?: (...) | (...);
                                field?: (...) | (...);
                                self?: (...) | (...);
                                structMacro?: (...) | (...);
                            };
                            union?: {
                                additionalContent?: (...) | (...);
                                item?: (...) | (...);
                                itemMacro?: (...) | (...);
                                self?: (...) | (...);
                                structMacro?: (...) | (...);
                            };
                        };
                    })[]
                  • Optional 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?: {};
                                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;
                            };
                            defaultNumberType?: "number" | "integer";
                            defaultProps?: boolean;
                            esModuleInterop?: boolean;
                            excludePrivate?: boolean;
                            id?: string;
                            ignoreErrors?: boolean;
                            include?: (undefined | string)[];
                            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?: (undefined | string)[];
                        };
                    }
                    • Optional asyncapi?: {
                          __unstable?: {
                              resolver?: {
                                  resolvers?: (...) | (...);
                              };
                          };
                          applyTraits?: boolean;
                          parseSchemas?: boolean;
                          source?: string;
                          validateOptions?: {
                              __unstable?: {
                                  resolver?: (...) | (...);
                              };
                              allowedSeverity?: {
                                  error?: (...) | (...) | (...);
                                  hint?: (...) | (...) | (...);
                                  info?: (...) | (...) | (...);
                                  warning?: (...) | (...) | (...);
                              };
                              ignoreUnknownFormat?: boolean;
                          };
                      }
                      • Optional __unstable?: {
                            resolver?: {
                                resolvers?: (...) | (...);
                            };
                        }
                        • Optional resolver?: {
                              resolvers?: (...) | (...);
                          }
                          • Optional resolvers?: (...) | (...)
                      • Optional applyTraits?: boolean
                      • Optional parseSchemas?: boolean
                      • Optional source?: string
                      • Optional validateOptions?: {
                            __unstable?: {
                                resolver?: (...) | (...);
                            };
                            allowedSeverity?: {
                                error?: (...) | (...) | (...);
                                hint?: (...) | (...) | (...);
                                info?: (...) | (...) | (...);
                                warning?: (...) | (...) | (...);
                            };
                            ignoreUnknownFormat?: boolean;
                        }
                        • Optional __unstable?: {
                              resolver?: (...) | (...);
                          }
                          • Optional resolver?: (...) | (...)
                        • Optional allowedSeverity?: {
                              error?: (...) | (...) | (...);
                              hint?: (...) | (...) | (...);
                              info?: (...) | (...) | (...);
                              warning?: (...) | (...) | (...);
                          }
                          • Optional error?: (...) | (...) | (...)
                          • Optional hint?: (...) | (...) | (...)
                          • Optional info?: (...) | (...) | (...)
                          • Optional warning?: (...) | (...) | (...)
                        • Optional ignoreUnknownFormat?: boolean
                    • Optional jsonSchema?: {
                          allowInheritance?: boolean;
                          disableCache?: boolean;
                          discriminator?: string;
                          ignoreAdditionalItems?: boolean;
                          ignoreAdditionalProperties?: boolean;
                          interpretSingleEnumAsConst?: boolean;
                          propertyNameForAdditionalProperties?: string;
                      }
                      • Optional allowInheritance?: boolean
                      • Optional disableCache?: 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.

                      • Optional discriminator?: 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.

                      • Optional ignoreAdditionalItems?: 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.

                      • Optional ignoreAdditionalProperties?: 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.

                      • Optional interpretSingleEnumAsConst?: 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.

                      • Optional propertyNameForAdditionalProperties?: string

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

                    • Optional openapi?: {
                          includeComponentSchemas?: boolean;
                      }
                      • Optional includeComponentSchemas?: boolean
                    • Optional 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?: {};
                              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;
                          };
                          defaultNumberType?: "number" | "integer";
                          defaultProps?: boolean;
                          esModuleInterop?: boolean;
                          excludePrivate?: boolean;
                          id?: string;
                          ignoreErrors?: boolean;
                          include?: (undefined | string)[];
                          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?: (undefined | string)[];
                      }
                      • Optional aliasRef?: boolean
                      • Optional 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?: {};
                            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;
                        }
                        • Optional allowJs?: boolean
                        • Optional allowSyntheticDefaultImports?: boolean
                        • Optional allowUmdGlobalAccess?: boolean
                        • Optional allowUnreachableCode?: boolean
                        • Optional allowUnusedLabels?: boolean
                        • Optional alwaysStrict?: boolean
                        • Optional assumeChangesOnlyAffectDirectDependencies?: boolean
                        • Optional baseUrl?: string
                        • Optional charset?: string
                        • Optional checkJs?: boolean
                        • Optional composite?: boolean
                        • Optional declaration?: boolean
                        • Optional declarationDir?: string
                        • Optional declarationMap?: boolean
                        • Optional disableReferencedProjectLoad?: boolean
                        • Optional disableSizeLimit?: boolean
                        • Optional disableSolutionSearching?: boolean
                        • Optional disableSourceOfProjectReferenceRedirect?: boolean
                        • Optional downlevelIteration?: boolean
                        • Optional emitBOM?: boolean
                        • Optional emitDeclarationOnly?: boolean
                        • Optional emitDecoratorMetadata?: boolean
                        • Optional esModuleInterop?: boolean
                        • Optional exactOptionalPropertyTypes?: boolean
                        • Optional experimentalDecorators?: boolean
                        • Optional forceConsistentCasingInFileNames?: boolean
                        • Optional importHelpers?: boolean
                        • Optional importsNotUsedAsValues?: ImportsNotUsedAsValues
                        • Optional incremental?: boolean
                        • Optional inlineSourceMap?: boolean
                        • Optional inlineSources?: boolean
                        • Optional isolatedModules?: boolean
                        • Optional jsx?: JsxEmit
                        • Optional jsxFactory?: string
                        • Optional jsxFragmentFactory?: string
                        • Optional jsxImportSource?: string
                        • Optional keyofStringsOnly?: boolean
                        • Optional lib?: ((...) | (...))[]
                        • Optional locale?: string
                        • Optional mapRoot?: string
                        • Optional maxNodeModuleJsDepth?: number
                        • Optional module?: ModuleKind
                        • Optional moduleDetection?: ModuleDetectionKind
                        • Optional moduleResolution?: ModuleResolutionKind
                        • Optional moduleSuffixes?: ((...) | (...))[]
                        • Optional newLine?: NewLineKind
                        • Optional noEmit?: boolean
                        • Optional noEmitHelpers?: boolean
                        • Optional noEmitOnError?: boolean
                        • Optional noErrorTruncation?: boolean
                        • Optional noFallthroughCasesInSwitch?: boolean
                        • Optional noImplicitAny?: boolean
                        • Optional noImplicitOverride?: boolean
                        • Optional noImplicitReturns?: boolean
                        • Optional noImplicitThis?: boolean
                        • Optional noImplicitUseStrict?: boolean
                        • Optional noLib?: boolean
                        • Optional noPropertyAccessFromIndexSignature?: boolean
                        • Optional noResolve?: boolean
                        • Optional noStrictGenericChecks?: boolean
                        • Optional noUncheckedIndexedAccess?: boolean
                        • Optional noUnusedLocals?: boolean
                        • Optional noUnusedParameters?: boolean
                        • Optional out?: string
                        • Optional outDir?: string
                        • Optional outFile?: string
                        • Optional paths?: {}
                          • Optional preserveConstEnums?: boolean
                          • Optional preserveSymlinks?: boolean
                          • Optional preserveValueImports?: boolean
                          • Optional project?: string
                          • Optional reactNamespace?: string
                          • Optional removeComments?: boolean
                          • Optional resolveJsonModule?: boolean
                          • Optional rootDir?: string
                          • Optional rootDirs?: ((...) | (...))[]
                          • Optional skipDefaultLibCheck?: boolean
                          • Optional skipLibCheck?: boolean
                          • Optional sourceMap?: boolean
                          • Optional sourceRoot?: string
                          • Optional strict?: boolean
                          • Optional strictBindCallApply?: boolean
                          • Optional strictFunctionTypes?: boolean
                          • Optional strictNullChecks?: boolean
                          • Optional strictPropertyInitialization?: boolean
                          • Optional stripInternal?: boolean
                          • Optional suppressExcessPropertyErrors?: boolean
                          • Optional suppressImplicitAnyIndexErrors?: boolean
                          • Optional target?: ScriptTarget
                          • Optional traceResolution?: boolean
                          • Optional tsBuildInfoFile?: string
                          • Optional typeRoots?: ((...) | (...))[]

                            Paths used to compute primary types search locations

                          • Optional types?: ((...) | (...))[]
                          • Optional useDefineForClassFields?: boolean
                          • Optional useUnknownInCatchVariables?: boolean
                        • Optional defaultNumberType?: "number" | "integer"
                        • Optional defaultProps?: boolean
                        • Optional esModuleInterop?: boolean
                        • Optional excludePrivate?: boolean
                        • Optional id?: string
                        • Optional ignoreErrors?: boolean
                        • Optional include?: (undefined | string)[]
                        • Optional noExtraProps?: boolean
                        • Optional out?: string
                        • Optional propOrder?: boolean
                        • Optional ref?: boolean
                        • Optional rejectDateType?: boolean
                        • Optional required?: boolean
                        • Optional skipLibCheck?: boolean
                        • Optional strictNullChecks?: boolean
                        • Optional titles?: boolean
                        • Optional topRef?: boolean
                        • Optional tsNodeRegister?: boolean
                        • Optional typeOfKeyword?: boolean
                        • Optional uniqueNames?: boolean
                        • Optional validationKeywords?: (undefined | string)[]
                    • Optional typeMapping?: {
                          Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
                          Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
                          Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
                          Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
                          Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
                          Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
                          Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
                          Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
                          Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
                          String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
                          Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
                          Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
                      }

                  Returns Promise<RenderOutput>

                • Parameters

                  • model: ConstrainedObjectModel
                  • inputModel: InputMetaModel
                  • Optional options: {
                        constraints?: {
                            constant?: ConstantConstraint<RustOptions>;
                            enumKey?: EnumKeyConstraint<RustOptions>;
                            enumValue?: EnumValueConstraint<RustOptions>;
                            modelName?: ModelNameConstraint<RustOptions>;
                            propertyKey?: PropertyKeyConstraint<RustOptions>;
                        };
                        defaultPreset?: {
                            enum?: {
                                additionalContent?: ((args) => string | Promise<string>);
                                item?: ((args) => string);
                                itemMacro?: ((args) => string);
                                self?: ((args) => string | Promise<string>);
                                structMacro?: ((args) => string | Promise<string>);
                            };
                            newType?: {
                                additionalContent?: ((args) => string | Promise<string>);
                                field?: ((args) => string | Promise<string>);
                                self?: ((args) => string | Promise<string>);
                                structMacro?: ((args) => string | Promise<string>);
                            };
                            package?: {
                                additionalContent?: ((args) => string | Promise<string>);
                                lib?: ((args) => string);
                                manifest?: ((args) => string);
                                self?: ((args) => string | Promise<string>);
                            };
                            struct?: {
                                additionalContent?: ((args) => string | Promise<string>);
                                field?: ((args) => string | Promise<string>);
                                fieldMacro?: ((args) => string | Promise<string>);
                                self?: ((args) => string | Promise<string>);
                                structMacro?: ((args) => string | Promise<string>);
                            };
                            tuple?: {
                                additionalContent?: ((args) => string | Promise<string>);
                                field?: ((args) => string | Promise<string>);
                                self?: ((args) => string | Promise<string>);
                                structMacro?: ((args) => string | Promise<string>);
                            };
                            union?: {
                                additionalContent?: ((args) => string | Promise<string>);
                                item?: ((args) => string);
                                itemMacro?: ((args) => string);
                                self?: ((args) => string | Promise<string>);
                                structMacro?: ((args) => string | Promise<string>);
                            };
                        };
                        dependencyManager?: (() => AbstractDependencyManager) | {
                            dependencies?: (undefined | string)[];
                            addDependency?(dependency): void;
                        };
                        indentation?: {
                            size?: number;
                            type?: IndentationTypes;
                        };
                        presets?: (undefined | {
                            enum?: {
                                additionalContent?: ((args) => (...) | (...));
                                item?: ((args) => string);
                                itemMacro?: ((args) => string);
                                self?: ((args) => (...) | (...));
                                structMacro?: ((args) => (...) | (...));
                            };
                            newType?: {
                                additionalContent?: ((args) => (...) | (...));
                                field?: ((args) => (...) | (...));
                                self?: ((args) => (...) | (...));
                                structMacro?: ((args) => (...) | (...));
                            };
                            package?: {
                                additionalContent?: ((args) => (...) | (...));
                                lib?: ((args) => string);
                                manifest?: ((args) => string);
                                self?: ((args) => (...) | (...));
                            };
                            struct?: {
                                additionalContent?: ((args) => (...) | (...));
                                field?: ((args) => (...) | (...));
                                fieldMacro?: ((args) => (...) | (...));
                                self?: ((args) => (...) | (...));
                                structMacro?: ((args) => (...) | (...));
                            };
                            tuple?: {
                                additionalContent?: ((args) => (...) | (...));
                                field?: ((args) => (...) | (...));
                                self?: ((args) => (...) | (...));
                                structMacro?: ((args) => (...) | (...));
                            };
                            union?: {
                                additionalContent?: ((args) => (...) | (...));
                                item?: ((args) => string);
                                itemMacro?: ((args) => string);
                                self?: ((args) => (...) | (...));
                                structMacro?: ((args) => (...) | (...));
                            };
                        } | {
                            options?: any;
                            preset?: {
                                enum?: {
                                    additionalContent?: (...) | (...);
                                    item?: (...) | (...);
                                    itemMacro?: (...) | (...);
                                    self?: (...) | (...);
                                    structMacro?: (...) | (...);
                                };
                                newType?: {
                                    additionalContent?: (...) | (...);
                                    field?: (...) | (...);
                                    self?: (...) | (...);
                                    structMacro?: (...) | (...);
                                };
                                package?: {
                                    additionalContent?: (...) | (...);
                                    lib?: (...) | (...);
                                    manifest?: (...) | (...);
                                    self?: (...) | (...);
                                };
                                struct?: {
                                    additionalContent?: (...) | (...);
                                    field?: (...) | (...);
                                    fieldMacro?: (...) | (...);
                                    self?: (...) | (...);
                                    structMacro?: (...) | (...);
                                };
                                tuple?: {
                                    additionalContent?: (...) | (...);
                                    field?: (...) | (...);
                                    self?: (...) | (...);
                                    structMacro?: (...) | (...);
                                };
                                union?: {
                                    additionalContent?: (...) | (...);
                                    item?: (...) | (...);
                                    itemMacro?: (...) | (...);
                                    self?: (...) | (...);
                                    structMacro?: (...) | (...);
                                };
                            };
                        })[];
                        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?: {};
                                    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;
                                };
                                defaultNumberType?: "number" | "integer";
                                defaultProps?: boolean;
                                esModuleInterop?: boolean;
                                excludePrivate?: boolean;
                                id?: string;
                                ignoreErrors?: boolean;
                                include?: (undefined | string)[];
                                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?: (undefined | string)[];
                            };
                        };
                        typeMapping?: {
                            Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
                            Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
                            Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
                            Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
                            Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
                            Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
                            Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
                            Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
                            Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
                            String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
                            Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
                            Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
                        };
                    }
                    • Optional constraints?: {
                          constant?: ConstantConstraint<RustOptions>;
                          enumKey?: EnumKeyConstraint<RustOptions>;
                          enumValue?: EnumValueConstraint<RustOptions>;
                          modelName?: ModelNameConstraint<RustOptions>;
                          propertyKey?: PropertyKeyConstraint<RustOptions>;
                      }
                    • Optional defaultPreset?: {
                          enum?: {
                              additionalContent?: ((args) => string | Promise<string>);
                              item?: ((args) => string);
                              itemMacro?: ((args) => string);
                              self?: ((args) => string | Promise<string>);
                              structMacro?: ((args) => string | Promise<string>);
                          };
                          newType?: {
                              additionalContent?: ((args) => string | Promise<string>);
                              field?: ((args) => string | Promise<string>);
                              self?: ((args) => string | Promise<string>);
                              structMacro?: ((args) => string | Promise<string>);
                          };
                          package?: {
                              additionalContent?: ((args) => string | Promise<string>);
                              lib?: ((args) => string);
                              manifest?: ((args) => string);
                              self?: ((args) => string | Promise<string>);
                          };
                          struct?: {
                              additionalContent?: ((args) => string | Promise<string>);
                              field?: ((args) => string | Promise<string>);
                              fieldMacro?: ((args) => string | Promise<string>);
                              self?: ((args) => string | Promise<string>);
                              structMacro?: ((args) => string | Promise<string>);
                          };
                          tuple?: {
                              additionalContent?: ((args) => string | Promise<string>);
                              field?: ((args) => string | Promise<string>);
                              self?: ((args) => string | Promise<string>);
                              structMacro?: ((args) => string | Promise<string>);
                          };
                          union?: {
                              additionalContent?: ((args) => string | Promise<string>);
                              item?: ((args) => string);
                              itemMacro?: ((args) => string);
                              self?: ((args) => string | Promise<string>);
                              structMacro?: ((args) => string | Promise<string>);
                          };
                      }
                      • Optional enum?: {
                            additionalContent?: ((args) => string | Promise<string>);
                            item?: ((args) => string);
                            itemMacro?: ((args) => string);
                            self?: ((args) => string | Promise<string>);
                            structMacro?: ((args) => string | Promise<string>);
                        }
                        • Optional additionalContent?: ((args) => string | Promise<string>)
                        • Optional item?: ((args) => string)
                        • Optional itemMacro?: ((args) => string)
                        • Optional self?: ((args) => string | Promise<string>)
                        • Optional structMacro?: ((args) => string | Promise<string>)
                      • Optional newType?: {
                            additionalContent?: ((args) => string | Promise<string>);
                            field?: ((args) => string | Promise<string>);
                            self?: ((args) => string | Promise<string>);
                            structMacro?: ((args) => string | Promise<string>);
                        }
                        • Optional additionalContent?: ((args) => string | Promise<string>)
                        • Optional field?: ((args) => string | Promise<string>)
                        • Optional self?: ((args) => string | Promise<string>)
                        • Optional structMacro?: ((args) => string | Promise<string>)
                      • Optional package?: {
                            additionalContent?: ((args) => string | Promise<string>);
                            lib?: ((args) => string);
                            manifest?: ((args) => string);
                            self?: ((args) => string | Promise<string>);
                        }
                        • Optional additionalContent?: ((args) => string | Promise<string>)
                        • Optional lib?: ((args) => string)
                        • Optional manifest?: ((args) => string)
                        • Optional self?: ((args) => string | Promise<string>)
                      • Optional struct?: {
                            additionalContent?: ((args) => string | Promise<string>);
                            field?: ((args) => string | Promise<string>);
                            fieldMacro?: ((args) => string | Promise<string>);
                            self?: ((args) => string | Promise<string>);
                            structMacro?: ((args) => string | Promise<string>);
                        }
                        • Optional additionalContent?: ((args) => string | Promise<string>)
                        • Optional field?: ((args) => string | Promise<string>)
                        • Optional fieldMacro?: ((args) => string | Promise<string>)
                        • Optional self?: ((args) => string | Promise<string>)
                        • Optional structMacro?: ((args) => string | Promise<string>)
                      • Optional tuple?: {
                            additionalContent?: ((args) => string | Promise<string>);
                            field?: ((args) => string | Promise<string>);
                            self?: ((args) => string | Promise<string>);
                            structMacro?: ((args) => string | Promise<string>);
                        }
                        • Optional additionalContent?: ((args) => string | Promise<string>)
                        • Optional field?: ((args) => string | Promise<string>)
                        • Optional self?: ((args) => string | Promise<string>)
                        • Optional structMacro?: ((args) => string | Promise<string>)
                      • Optional union?: {
                            additionalContent?: ((args) => string | Promise<string>);
                            item?: ((args) => string);
                            itemMacro?: ((args) => string);
                            self?: ((args) => string | Promise<string>);
                            structMacro?: ((args) => string | Promise<string>);
                        }
                        • Optional additionalContent?: ((args) => string | Promise<string>)
                        • Optional item?: ((args) => string)
                        • Optional itemMacro?: ((args) => string)
                        • Optional self?: ((args) => string | Promise<string>)
                        • Optional structMacro?: ((args) => string | Promise<string>)
                    • Optional dependencyManager?: (() => AbstractDependencyManager) | {
                          dependencies?: (undefined | string)[];
                          addDependency?(dependency): void;
                      }

                      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.

                    • Optional indentation?: {
                          size?: number;
                          type?: IndentationTypes;
                      }
                    • Optional presets?: (undefined | {
                          enum?: {
                              additionalContent?: ((args) => (...) | (...));
                              item?: ((args) => string);
                              itemMacro?: ((args) => string);
                              self?: ((args) => (...) | (...));
                              structMacro?: ((args) => (...) | (...));
                          };
                          newType?: {
                              additionalContent?: ((args) => (...) | (...));
                              field?: ((args) => (...) | (...));
                              self?: ((args) => (...) | (...));
                              structMacro?: ((args) => (...) | (...));
                          };
                          package?: {
                              additionalContent?: ((args) => (...) | (...));
                              lib?: ((args) => string);
                              manifest?: ((args) => string);
                              self?: ((args) => (...) | (...));
                          };
                          struct?: {
                              additionalContent?: ((args) => (...) | (...));
                              field?: ((args) => (...) | (...));
                              fieldMacro?: ((args) => (...) | (...));
                              self?: ((args) => (...) | (...));
                              structMacro?: ((args) => (...) | (...));
                          };
                          tuple?: {
                              additionalContent?: ((args) => (...) | (...));
                              field?: ((args) => (...) | (...));
                              self?: ((args) => (...) | (...));
                              structMacro?: ((args) => (...) | (...));
                          };
                          union?: {
                              additionalContent?: ((args) => (...) | (...));
                              item?: ((args) => string);
                              itemMacro?: ((args) => string);
                              self?: ((args) => (...) | (...));
                              structMacro?: ((args) => (...) | (...));
                          };
                      } | {
                          options?: any;
                          preset?: {
                              enum?: {
                                  additionalContent?: (...) | (...);
                                  item?: (...) | (...);
                                  itemMacro?: (...) | (...);
                                  self?: (...) | (...);
                                  structMacro?: (...) | (...);
                              };
                              newType?: {
                                  additionalContent?: (...) | (...);
                                  field?: (...) | (...);
                                  self?: (...) | (...);
                                  structMacro?: (...) | (...);
                              };
                              package?: {
                                  additionalContent?: (...) | (...);
                                  lib?: (...) | (...);
                                  manifest?: (...) | (...);
                                  self?: (...) | (...);
                              };
                              struct?: {
                                  additionalContent?: (...) | (...);
                                  field?: (...) | (...);
                                  fieldMacro?: (...) | (...);
                                  self?: (...) | (...);
                                  structMacro?: (...) | (...);
                              };
                              tuple?: {
                                  additionalContent?: (...) | (...);
                                  field?: (...) | (...);
                                  self?: (...) | (...);
                                  structMacro?: (...) | (...);
                              };
                              union?: {
                                  additionalContent?: (...) | (...);
                                  item?: (...) | (...);
                                  itemMacro?: (...) | (...);
                                  self?: (...) | (...);
                                  structMacro?: (...) | (...);
                              };
                          };
                      })[]
                    • Optional 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?: {};
                                  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;
                              };
                              defaultNumberType?: "number" | "integer";
                              defaultProps?: boolean;
                              esModuleInterop?: boolean;
                              excludePrivate?: boolean;
                              id?: string;
                              ignoreErrors?: boolean;
                              include?: (undefined | string)[];
                              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?: (undefined | string)[];
                          };
                      }
                      • Optional asyncapi?: {
                            __unstable?: {
                                resolver?: {
                                    resolvers?: (...) | (...);
                                };
                            };
                            applyTraits?: boolean;
                            parseSchemas?: boolean;
                            source?: string;
                            validateOptions?: {
                                __unstable?: {
                                    resolver?: (...) | (...);
                                };
                                allowedSeverity?: {
                                    error?: (...) | (...) | (...);
                                    hint?: (...) | (...) | (...);
                                    info?: (...) | (...) | (...);
                                    warning?: (...) | (...) | (...);
                                };
                                ignoreUnknownFormat?: boolean;
                            };
                        }
                        • Optional __unstable?: {
                              resolver?: {
                                  resolvers?: (...) | (...);
                              };
                          }
                          • Optional resolver?: {
                                resolvers?: (...) | (...);
                            }
                            • Optional resolvers?: (...) | (...)
                        • Optional applyTraits?: boolean
                        • Optional parseSchemas?: boolean
                        • Optional source?: string
                        • Optional validateOptions?: {
                              __unstable?: {
                                  resolver?: (...) | (...);
                              };
                              allowedSeverity?: {
                                  error?: (...) | (...) | (...);
                                  hint?: (...) | (...) | (...);
                                  info?: (...) | (...) | (...);
                                  warning?: (...) | (...) | (...);
                              };
                              ignoreUnknownFormat?: boolean;
                          }
                          • Optional __unstable?: {
                                resolver?: (...) | (...);
                            }
                            • Optional resolver?: (...) | (...)
                          • Optional allowedSeverity?: {
                                error?: (...) | (...) | (...);
                                hint?: (...) | (...) | (...);
                                info?: (...) | (...) | (...);
                                warning?: (...) | (...) | (...);
                            }
                            • Optional error?: (...) | (...) | (...)
                            • Optional hint?: (...) | (...) | (...)
                            • Optional info?: (...) | (...) | (...)
                            • Optional warning?: (...) | (...) | (...)
                          • Optional ignoreUnknownFormat?: boolean
                      • Optional jsonSchema?: {
                            allowInheritance?: boolean;
                            disableCache?: boolean;
                            discriminator?: string;
                            ignoreAdditionalItems?: boolean;
                            ignoreAdditionalProperties?: boolean;
                            interpretSingleEnumAsConst?: boolean;
                            propertyNameForAdditionalProperties?: string;
                        }
                        • Optional allowInheritance?: boolean
                        • Optional disableCache?: 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.

                        • Optional discriminator?: 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.

                        • Optional ignoreAdditionalItems?: 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.

                        • Optional ignoreAdditionalProperties?: 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.

                        • Optional interpretSingleEnumAsConst?: 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.

                        • Optional propertyNameForAdditionalProperties?: string

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

                      • Optional openapi?: {
                            includeComponentSchemas?: boolean;
                        }
                        • Optional includeComponentSchemas?: boolean
                      • Optional 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?: {};
                                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;
                            };
                            defaultNumberType?: "number" | "integer";
                            defaultProps?: boolean;
                            esModuleInterop?: boolean;
                            excludePrivate?: boolean;
                            id?: string;
                            ignoreErrors?: boolean;
                            include?: (undefined | string)[];
                            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?: (undefined | string)[];
                        }
                        • Optional aliasRef?: boolean
                        • Optional 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?: {};
                              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;
                          }
                          • Optional allowJs?: boolean
                          • Optional allowSyntheticDefaultImports?: boolean
                          • Optional allowUmdGlobalAccess?: boolean
                          • Optional allowUnreachableCode?: boolean
                          • Optional allowUnusedLabels?: boolean
                          • Optional alwaysStrict?: boolean
                          • Optional assumeChangesOnlyAffectDirectDependencies?: boolean
                          • Optional baseUrl?: string
                          • Optional charset?: string
                          • Optional checkJs?: boolean
                          • Optional composite?: boolean
                          • Optional declaration?: boolean
                          • Optional declarationDir?: string
                          • Optional declarationMap?: boolean
                          • Optional disableReferencedProjectLoad?: boolean
                          • Optional disableSizeLimit?: boolean
                          • Optional disableSolutionSearching?: boolean
                          • Optional disableSourceOfProjectReferenceRedirect?: boolean
                          • Optional downlevelIteration?: boolean
                          • Optional emitBOM?: boolean
                          • Optional emitDeclarationOnly?: boolean
                          • Optional emitDecoratorMetadata?: boolean
                          • Optional esModuleInterop?: boolean
                          • Optional exactOptionalPropertyTypes?: boolean
                          • Optional experimentalDecorators?: boolean
                          • Optional forceConsistentCasingInFileNames?: boolean
                          • Optional importHelpers?: boolean
                          • Optional importsNotUsedAsValues?: ImportsNotUsedAsValues
                          • Optional incremental?: boolean
                          • Optional inlineSourceMap?: boolean
                          • Optional inlineSources?: boolean
                          • Optional isolatedModules?: boolean
                          • Optional jsx?: JsxEmit
                          • Optional jsxFactory?: string
                          • Optional jsxFragmentFactory?: string
                          • Optional jsxImportSource?: string
                          • Optional keyofStringsOnly?: boolean
                          • Optional lib?: ((...) | (...))[]
                          • Optional locale?: string
                          • Optional mapRoot?: string
                          • Optional maxNodeModuleJsDepth?: number
                          • Optional module?: ModuleKind
                          • Optional moduleDetection?: ModuleDetectionKind
                          • Optional moduleResolution?: ModuleResolutionKind
                          • Optional moduleSuffixes?: ((...) | (...))[]
                          • Optional newLine?: NewLineKind
                          • Optional noEmit?: boolean
                          • Optional noEmitHelpers?: boolean
                          • Optional noEmitOnError?: boolean
                          • Optional noErrorTruncation?: boolean
                          • Optional noFallthroughCasesInSwitch?: boolean
                          • Optional noImplicitAny?: boolean
                          • Optional noImplicitOverride?: boolean
                          • Optional noImplicitReturns?: boolean
                          • Optional noImplicitThis?: boolean
                          • Optional noImplicitUseStrict?: boolean
                          • Optional noLib?: boolean
                          • Optional noPropertyAccessFromIndexSignature?: boolean
                          • Optional noResolve?: boolean
                          • Optional noStrictGenericChecks?: boolean
                          • Optional noUncheckedIndexedAccess?: boolean
                          • Optional noUnusedLocals?: boolean
                          • Optional noUnusedParameters?: boolean
                          • Optional out?: string
                          • Optional outDir?: string
                          • Optional outFile?: string
                          • Optional paths?: {}
                            • Optional preserveConstEnums?: boolean
                            • Optional preserveSymlinks?: boolean
                            • Optional preserveValueImports?: boolean
                            • Optional project?: string
                            • Optional reactNamespace?: string
                            • Optional removeComments?: boolean
                            • Optional resolveJsonModule?: boolean
                            • Optional rootDir?: string
                            • Optional rootDirs?: ((...) | (...))[]
                            • Optional skipDefaultLibCheck?: boolean
                            • Optional skipLibCheck?: boolean
                            • Optional sourceMap?: boolean
                            • Optional sourceRoot?: string
                            • Optional strict?: boolean
                            • Optional strictBindCallApply?: boolean
                            • Optional strictFunctionTypes?: boolean
                            • Optional strictNullChecks?: boolean
                            • Optional strictPropertyInitialization?: boolean
                            • Optional stripInternal?: boolean
                            • Optional suppressExcessPropertyErrors?: boolean
                            • Optional suppressImplicitAnyIndexErrors?: boolean
                            • Optional target?: ScriptTarget
                            • Optional traceResolution?: boolean
                            • Optional tsBuildInfoFile?: string
                            • Optional typeRoots?: ((...) | (...))[]

                              Paths used to compute primary types search locations

                            • Optional types?: ((...) | (...))[]
                            • Optional useDefineForClassFields?: boolean
                            • Optional useUnknownInCatchVariables?: boolean
                          • Optional defaultNumberType?: "number" | "integer"
                          • Optional defaultProps?: boolean
                          • Optional esModuleInterop?: boolean
                          • Optional excludePrivate?: boolean
                          • Optional id?: string
                          • Optional ignoreErrors?: boolean
                          • Optional include?: (undefined | string)[]
                          • Optional noExtraProps?: boolean
                          • Optional out?: string
                          • Optional propOrder?: boolean
                          • Optional ref?: boolean
                          • Optional rejectDateType?: boolean
                          • Optional required?: boolean
                          • Optional skipLibCheck?: boolean
                          • Optional strictNullChecks?: boolean
                          • Optional titles?: boolean
                          • Optional topRef?: boolean
                          • Optional tsNodeRegister?: boolean
                          • Optional typeOfKeyword?: boolean
                          • Optional uniqueNames?: boolean
                          • Optional validationKeywords?: (undefined | string)[]
                      • Optional typeMapping?: {
                            Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
                            Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
                            Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
                            Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
                            Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
                            Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
                            Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
                            Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
                            Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
                            String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
                            Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
                            Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
                        }

                    Returns Promise<RenderOutput>

                  • Parameters

                    • model: ConstrainedTupleModel
                    • inputModel: InputMetaModel
                    • Optional options: {
                          constraints?: {
                              constant?: ConstantConstraint<RustOptions>;
                              enumKey?: EnumKeyConstraint<RustOptions>;
                              enumValue?: EnumValueConstraint<RustOptions>;
                              modelName?: ModelNameConstraint<RustOptions>;
                              propertyKey?: PropertyKeyConstraint<RustOptions>;
                          };
                          defaultPreset?: {
                              enum?: {
                                  additionalContent?: ((args) => string | Promise<string>);
                                  item?: ((args) => string);
                                  itemMacro?: ((args) => string);
                                  self?: ((args) => string | Promise<string>);
                                  structMacro?: ((args) => string | Promise<string>);
                              };
                              newType?: {
                                  additionalContent?: ((args) => string | Promise<string>);
                                  field?: ((args) => string | Promise<string>);
                                  self?: ((args) => string | Promise<string>);
                                  structMacro?: ((args) => string | Promise<string>);
                              };
                              package?: {
                                  additionalContent?: ((args) => string | Promise<string>);
                                  lib?: ((args) => string);
                                  manifest?: ((args) => string);
                                  self?: ((args) => string | Promise<string>);
                              };
                              struct?: {
                                  additionalContent?: ((args) => string | Promise<string>);
                                  field?: ((args) => string | Promise<string>);
                                  fieldMacro?: ((args) => string | Promise<string>);
                                  self?: ((args) => string | Promise<string>);
                                  structMacro?: ((args) => string | Promise<string>);
                              };
                              tuple?: {
                                  additionalContent?: ((args) => string | Promise<string>);
                                  field?: ((args) => string | Promise<string>);
                                  self?: ((args) => string | Promise<string>);
                                  structMacro?: ((args) => string | Promise<string>);
                              };
                              union?: {
                                  additionalContent?: ((args) => string | Promise<string>);
                                  item?: ((args) => string);
                                  itemMacro?: ((args) => string);
                                  self?: ((args) => string | Promise<string>);
                                  structMacro?: ((args) => string | Promise<string>);
                              };
                          };
                          dependencyManager?: (() => AbstractDependencyManager) | {
                              dependencies?: (undefined | string)[];
                              addDependency?(dependency): void;
                          };
                          indentation?: {
                              size?: number;
                              type?: IndentationTypes;
                          };
                          presets?: (undefined | {
                              enum?: {
                                  additionalContent?: ((args) => (...) | (...));
                                  item?: ((args) => string);
                                  itemMacro?: ((args) => string);
                                  self?: ((args) => (...) | (...));
                                  structMacro?: ((args) => (...) | (...));
                              };
                              newType?: {
                                  additionalContent?: ((args) => (...) | (...));
                                  field?: ((args) => (...) | (...));
                                  self?: ((args) => (...) | (...));
                                  structMacro?: ((args) => (...) | (...));
                              };
                              package?: {
                                  additionalContent?: ((args) => (...) | (...));
                                  lib?: ((args) => string);
                                  manifest?: ((args) => string);
                                  self?: ((args) => (...) | (...));
                              };
                              struct?: {
                                  additionalContent?: ((args) => (...) | (...));
                                  field?: ((args) => (...) | (...));
                                  fieldMacro?: ((args) => (...) | (...));
                                  self?: ((args) => (...) | (...));
                                  structMacro?: ((args) => (...) | (...));
                              };
                              tuple?: {
                                  additionalContent?: ((args) => (...) | (...));
                                  field?: ((args) => (...) | (...));
                                  self?: ((args) => (...) | (...));
                                  structMacro?: ((args) => (...) | (...));
                              };
                              union?: {
                                  additionalContent?: ((args) => (...) | (...));
                                  item?: ((args) => string);
                                  itemMacro?: ((args) => string);
                                  self?: ((args) => (...) | (...));
                                  structMacro?: ((args) => (...) | (...));
                              };
                          } | {
                              options?: any;
                              preset?: {
                                  enum?: {
                                      additionalContent?: (...) | (...);
                                      item?: (...) | (...);
                                      itemMacro?: (...) | (...);
                                      self?: (...) | (...);
                                      structMacro?: (...) | (...);
                                  };
                                  newType?: {
                                      additionalContent?: (...) | (...);
                                      field?: (...) | (...);
                                      self?: (...) | (...);
                                      structMacro?: (...) | (...);
                                  };
                                  package?: {
                                      additionalContent?: (...) | (...);
                                      lib?: (...) | (...);
                                      manifest?: (...) | (...);
                                      self?: (...) | (...);
                                  };
                                  struct?: {
                                      additionalContent?: (...) | (...);
                                      field?: (...) | (...);
                                      fieldMacro?: (...) | (...);
                                      self?: (...) | (...);
                                      structMacro?: (...) | (...);
                                  };
                                  tuple?: {
                                      additionalContent?: (...) | (...);
                                      field?: (...) | (...);
                                      self?: (...) | (...);
                                      structMacro?: (...) | (...);
                                  };
                                  union?: {
                                      additionalContent?: (...) | (...);
                                      item?: (...) | (...);
                                      itemMacro?: (...) | (...);
                                      self?: (...) | (...);
                                      structMacro?: (...) | (...);
                                  };
                              };
                          })[];
                          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?: {};
                                      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;
                                  };
                                  defaultNumberType?: "number" | "integer";
                                  defaultProps?: boolean;
                                  esModuleInterop?: boolean;
                                  excludePrivate?: boolean;
                                  id?: string;
                                  ignoreErrors?: boolean;
                                  include?: (undefined | string)[];
                                  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?: (undefined | string)[];
                              };
                          };
                          typeMapping?: {
                              Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
                              Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
                              Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
                              Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
                              Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
                              Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
                              Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
                              Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
                              Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
                              String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
                              Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
                              Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
                          };
                      }
                      • Optional constraints?: {
                            constant?: ConstantConstraint<RustOptions>;
                            enumKey?: EnumKeyConstraint<RustOptions>;
                            enumValue?: EnumValueConstraint<RustOptions>;
                            modelName?: ModelNameConstraint<RustOptions>;
                            propertyKey?: PropertyKeyConstraint<RustOptions>;
                        }
                      • Optional defaultPreset?: {
                            enum?: {
                                additionalContent?: ((args) => string | Promise<string>);
                                item?: ((args) => string);
                                itemMacro?: ((args) => string);
                                self?: ((args) => string | Promise<string>);
                                structMacro?: ((args) => string | Promise<string>);
                            };
                            newType?: {
                                additionalContent?: ((args) => string | Promise<string>);
                                field?: ((args) => string | Promise<string>);
                                self?: ((args) => string | Promise<string>);
                                structMacro?: ((args) => string | Promise<string>);
                            };
                            package?: {
                                additionalContent?: ((args) => string | Promise<string>);
                                lib?: ((args) => string);
                                manifest?: ((args) => string);
                                self?: ((args) => string | Promise<string>);
                            };
                            struct?: {
                                additionalContent?: ((args) => string | Promise<string>);
                                field?: ((args) => string | Promise<string>);
                                fieldMacro?: ((args) => string | Promise<string>);
                                self?: ((args) => string | Promise<string>);
                                structMacro?: ((args) => string | Promise<string>);
                            };
                            tuple?: {
                                additionalContent?: ((args) => string | Promise<string>);
                                field?: ((args) => string | Promise<string>);
                                self?: ((args) => string | Promise<string>);
                                structMacro?: ((args) => string | Promise<string>);
                            };
                            union?: {
                                additionalContent?: ((args) => string | Promise<string>);
                                item?: ((args) => string);
                                itemMacro?: ((args) => string);
                                self?: ((args) => string | Promise<string>);
                                structMacro?: ((args) => string | Promise<string>);
                            };
                        }
                        • Optional enum?: {
                              additionalContent?: ((args) => string | Promise<string>);
                              item?: ((args) => string);
                              itemMacro?: ((args) => string);
                              self?: ((args) => string | Promise<string>);
                              structMacro?: ((args) => string | Promise<string>);
                          }
                          • Optional additionalContent?: ((args) => string | Promise<string>)
                          • Optional item?: ((args) => string)
                          • Optional itemMacro?: ((args) => string)
                          • Optional self?: ((args) => string | Promise<string>)
                          • Optional structMacro?: ((args) => string | Promise<string>)
                        • Optional newType?: {
                              additionalContent?: ((args) => string | Promise<string>);
                              field?: ((args) => string | Promise<string>);
                              self?: ((args) => string | Promise<string>);
                              structMacro?: ((args) => string | Promise<string>);
                          }
                          • Optional additionalContent?: ((args) => string | Promise<string>)
                          • Optional field?: ((args) => string | Promise<string>)
                          • Optional self?: ((args) => string | Promise<string>)
                          • Optional structMacro?: ((args) => string | Promise<string>)
                        • Optional package?: {
                              additionalContent?: ((args) => string | Promise<string>);
                              lib?: ((args) => string);
                              manifest?: ((args) => string);
                              self?: ((args) => string | Promise<string>);
                          }
                          • Optional additionalContent?: ((args) => string | Promise<string>)
                          • Optional lib?: ((args) => string)
                          • Optional manifest?: ((args) => string)
                          • Optional self?: ((args) => string | Promise<string>)
                        • Optional struct?: {
                              additionalContent?: ((args) => string | Promise<string>);
                              field?: ((args) => string | Promise<string>);
                              fieldMacro?: ((args) => string | Promise<string>);
                              self?: ((args) => string | Promise<string>);
                              structMacro?: ((args) => string | Promise<string>);
                          }
                          • Optional additionalContent?: ((args) => string | Promise<string>)
                          • Optional field?: ((args) => string | Promise<string>)
                          • Optional fieldMacro?: ((args) => string | Promise<string>)
                          • Optional self?: ((args) => string | Promise<string>)
                          • Optional structMacro?: ((args) => string | Promise<string>)
                        • Optional tuple?: {
                              additionalContent?: ((args) => string | Promise<string>);
                              field?: ((args) => string | Promise<string>);
                              self?: ((args) => string | Promise<string>);
                              structMacro?: ((args) => string | Promise<string>);
                          }
                          • Optional additionalContent?: ((args) => string | Promise<string>)
                          • Optional field?: ((args) => string | Promise<string>)
                          • Optional self?: ((args) => string | Promise<string>)
                          • Optional structMacro?: ((args) => string | Promise<string>)
                        • Optional union?: {
                              additionalContent?: ((args) => string | Promise<string>);
                              item?: ((args) => string);
                              itemMacro?: ((args) => string);
                              self?: ((args) => string | Promise<string>);
                              structMacro?: ((args) => string | Promise<string>);
                          }
                          • Optional additionalContent?: ((args) => string | Promise<string>)
                          • Optional item?: ((args) => string)
                          • Optional itemMacro?: ((args) => string)
                          • Optional self?: ((args) => string | Promise<string>)
                          • Optional structMacro?: ((args) => string | Promise<string>)
                      • Optional dependencyManager?: (() => AbstractDependencyManager) | {
                            dependencies?: (undefined | string)[];
                            addDependency?(dependency): void;
                        }

                        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.

                      • Optional indentation?: {
                            size?: number;
                            type?: IndentationTypes;
                        }
                      • Optional presets?: (undefined | {
                            enum?: {
                                additionalContent?: ((args) => (...) | (...));
                                item?: ((args) => string);
                                itemMacro?: ((args) => string);
                                self?: ((args) => (...) | (...));
                                structMacro?: ((args) => (...) | (...));
                            };
                            newType?: {
                                additionalContent?: ((args) => (...) | (...));
                                field?: ((args) => (...) | (...));
                                self?: ((args) => (...) | (...));
                                structMacro?: ((args) => (...) | (...));
                            };
                            package?: {
                                additionalContent?: ((args) => (...) | (...));
                                lib?: ((args) => string);
                                manifest?: ((args) => string);
                                self?: ((args) => (...) | (...));
                            };
                            struct?: {
                                additionalContent?: ((args) => (...) | (...));
                                field?: ((args) => (...) | (...));
                                fieldMacro?: ((args) => (...) | (...));
                                self?: ((args) => (...) | (...));
                                structMacro?: ((args) => (...) | (...));
                            };
                            tuple?: {
                                additionalContent?: ((args) => (...) | (...));
                                field?: ((args) => (...) | (...));
                                self?: ((args) => (...) | (...));
                                structMacro?: ((args) => (...) | (...));
                            };
                            union?: {
                                additionalContent?: ((args) => (...) | (...));
                                item?: ((args) => string);
                                itemMacro?: ((args) => string);
                                self?: ((args) => (...) | (...));
                                structMacro?: ((args) => (...) | (...));
                            };
                        } | {
                            options?: any;
                            preset?: {
                                enum?: {
                                    additionalContent?: (...) | (...);
                                    item?: (...) | (...);
                                    itemMacro?: (...) | (...);
                                    self?: (...) | (...);
                                    structMacro?: (...) | (...);
                                };
                                newType?: {
                                    additionalContent?: (...) | (...);
                                    field?: (...) | (...);
                                    self?: (...) | (...);
                                    structMacro?: (...) | (...);
                                };
                                package?: {
                                    additionalContent?: (...) | (...);
                                    lib?: (...) | (...);
                                    manifest?: (...) | (...);
                                    self?: (...) | (...);
                                };
                                struct?: {
                                    additionalContent?: (...) | (...);
                                    field?: (...) | (...);
                                    fieldMacro?: (...) | (...);
                                    self?: (...) | (...);
                                    structMacro?: (...) | (...);
                                };
                                tuple?: {
                                    additionalContent?: (...) | (...);
                                    field?: (...) | (...);
                                    self?: (...) | (...);
                                    structMacro?: (...) | (...);
                                };
                                union?: {
                                    additionalContent?: (...) | (...);
                                    item?: (...) | (...);
                                    itemMacro?: (...) | (...);
                                    self?: (...) | (...);
                                    structMacro?: (...) | (...);
                                };
                            };
                        })[]
                      • Optional 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?: {};
                                    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;
                                };
                                defaultNumberType?: "number" | "integer";
                                defaultProps?: boolean;
                                esModuleInterop?: boolean;
                                excludePrivate?: boolean;
                                id?: string;
                                ignoreErrors?: boolean;
                                include?: (undefined | string)[];
                                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?: (undefined | string)[];
                            };
                        }
                        • Optional asyncapi?: {
                              __unstable?: {
                                  resolver?: {
                                      resolvers?: (...) | (...);
                                  };
                              };
                              applyTraits?: boolean;
                              parseSchemas?: boolean;
                              source?: string;
                              validateOptions?: {
                                  __unstable?: {
                                      resolver?: (...) | (...);
                                  };
                                  allowedSeverity?: {
                                      error?: (...) | (...) | (...);
                                      hint?: (...) | (...) | (...);
                                      info?: (...) | (...) | (...);
                                      warning?: (...) | (...) | (...);
                                  };
                                  ignoreUnknownFormat?: boolean;
                              };
                          }
                          • Optional __unstable?: {
                                resolver?: {
                                    resolvers?: (...) | (...);
                                };
                            }
                            • Optional resolver?: {
                                  resolvers?: (...) | (...);
                              }
                              • Optional resolvers?: (...) | (...)
                          • Optional applyTraits?: boolean
                          • Optional parseSchemas?: boolean
                          • Optional source?: string
                          • Optional validateOptions?: {
                                __unstable?: {
                                    resolver?: (...) | (...);
                                };
                                allowedSeverity?: {
                                    error?: (...) | (...) | (...);
                                    hint?: (...) | (...) | (...);
                                    info?: (...) | (...) | (...);
                                    warning?: (...) | (...) | (...);
                                };
                                ignoreUnknownFormat?: boolean;
                            }
                            • Optional __unstable?: {
                                  resolver?: (...) | (...);
                              }
                              • Optional resolver?: (...) | (...)
                            • Optional allowedSeverity?: {
                                  error?: (...) | (...) | (...);
                                  hint?: (...) | (...) | (...);
                                  info?: (...) | (...) | (...);
                                  warning?: (...) | (...) | (...);
                              }
                              • Optional error?: (...) | (...) | (...)
                              • Optional hint?: (...) | (...) | (...)
                              • Optional info?: (...) | (...) | (...)
                              • Optional warning?: (...) | (...) | (...)
                            • Optional ignoreUnknownFormat?: boolean
                        • Optional jsonSchema?: {
                              allowInheritance?: boolean;
                              disableCache?: boolean;
                              discriminator?: string;
                              ignoreAdditionalItems?: boolean;
                              ignoreAdditionalProperties?: boolean;
                              interpretSingleEnumAsConst?: boolean;
                              propertyNameForAdditionalProperties?: string;
                          }
                          • Optional allowInheritance?: boolean
                          • Optional disableCache?: 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.

                          • Optional discriminator?: 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.

                          • Optional ignoreAdditionalItems?: 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.

                          • Optional ignoreAdditionalProperties?: 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.

                          • Optional interpretSingleEnumAsConst?: 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.

                          • Optional propertyNameForAdditionalProperties?: string

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

                        • Optional openapi?: {
                              includeComponentSchemas?: boolean;
                          }
                          • Optional includeComponentSchemas?: boolean
                        • Optional 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?: {};
                                  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;
                              };
                              defaultNumberType?: "number" | "integer";
                              defaultProps?: boolean;
                              esModuleInterop?: boolean;
                              excludePrivate?: boolean;
                              id?: string;
                              ignoreErrors?: boolean;
                              include?: (undefined | string)[];
                              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?: (undefined | string)[];
                          }
                          • Optional aliasRef?: boolean
                          • Optional 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?: {};
                                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;
                            }
                            • Optional allowJs?: boolean
                            • Optional allowSyntheticDefaultImports?: boolean
                            • Optional allowUmdGlobalAccess?: boolean
                            • Optional allowUnreachableCode?: boolean
                            • Optional allowUnusedLabels?: boolean
                            • Optional alwaysStrict?: boolean
                            • Optional assumeChangesOnlyAffectDirectDependencies?: boolean
                            • Optional baseUrl?: string
                            • Optional charset?: string
                            • Optional checkJs?: boolean
                            • Optional composite?: boolean
                            • Optional declaration?: boolean
                            • Optional declarationDir?: string
                            • Optional declarationMap?: boolean
                            • Optional disableReferencedProjectLoad?: boolean
                            • Optional disableSizeLimit?: boolean
                            • Optional disableSolutionSearching?: boolean
                            • Optional disableSourceOfProjectReferenceRedirect?: boolean
                            • Optional downlevelIteration?: boolean
                            • Optional emitBOM?: boolean
                            • Optional emitDeclarationOnly?: boolean
                            • Optional emitDecoratorMetadata?: boolean
                            • Optional esModuleInterop?: boolean
                            • Optional exactOptionalPropertyTypes?: boolean
                            • Optional experimentalDecorators?: boolean
                            • Optional forceConsistentCasingInFileNames?: boolean
                            • Optional importHelpers?: boolean
                            • Optional importsNotUsedAsValues?: ImportsNotUsedAsValues
                            • Optional incremental?: boolean
                            • Optional inlineSourceMap?: boolean
                            • Optional inlineSources?: boolean
                            • Optional isolatedModules?: boolean
                            • Optional jsx?: JsxEmit
                            • Optional jsxFactory?: string
                            • Optional jsxFragmentFactory?: string
                            • Optional jsxImportSource?: string
                            • Optional keyofStringsOnly?: boolean
                            • Optional lib?: ((...) | (...))[]
                            • Optional locale?: string
                            • Optional mapRoot?: string
                            • Optional maxNodeModuleJsDepth?: number
                            • Optional module?: ModuleKind
                            • Optional moduleDetection?: ModuleDetectionKind
                            • Optional moduleResolution?: ModuleResolutionKind
                            • Optional moduleSuffixes?: ((...) | (...))[]
                            • Optional newLine?: NewLineKind
                            • Optional noEmit?: boolean
                            • Optional noEmitHelpers?: boolean
                            • Optional noEmitOnError?: boolean
                            • Optional noErrorTruncation?: boolean
                            • Optional noFallthroughCasesInSwitch?: boolean
                            • Optional noImplicitAny?: boolean
                            • Optional noImplicitOverride?: boolean
                            • Optional noImplicitReturns?: boolean
                            • Optional noImplicitThis?: boolean
                            • Optional noImplicitUseStrict?: boolean
                            • Optional noLib?: boolean
                            • Optional noPropertyAccessFromIndexSignature?: boolean
                            • Optional noResolve?: boolean
                            • Optional noStrictGenericChecks?: boolean
                            • Optional noUncheckedIndexedAccess?: boolean
                            • Optional noUnusedLocals?: boolean
                            • Optional noUnusedParameters?: boolean
                            • Optional out?: string
                            • Optional outDir?: string
                            • Optional outFile?: string
                            • Optional paths?: {}
                              • Optional preserveConstEnums?: boolean
                              • Optional preserveSymlinks?: boolean
                              • Optional preserveValueImports?: boolean
                              • Optional project?: string
                              • Optional reactNamespace?: string
                              • Optional removeComments?: boolean
                              • Optional resolveJsonModule?: boolean
                              • Optional rootDir?: string
                              • Optional rootDirs?: ((...) | (...))[]
                              • Optional skipDefaultLibCheck?: boolean
                              • Optional skipLibCheck?: boolean
                              • Optional sourceMap?: boolean
                              • Optional sourceRoot?: string
                              • Optional strict?: boolean
                              • Optional strictBindCallApply?: boolean
                              • Optional strictFunctionTypes?: boolean
                              • Optional strictNullChecks?: boolean
                              • Optional strictPropertyInitialization?: boolean
                              • Optional stripInternal?: boolean
                              • Optional suppressExcessPropertyErrors?: boolean
                              • Optional suppressImplicitAnyIndexErrors?: boolean
                              • Optional target?: ScriptTarget
                              • Optional traceResolution?: boolean
                              • Optional tsBuildInfoFile?: string
                              • Optional typeRoots?: ((...) | (...))[]

                                Paths used to compute primary types search locations

                              • Optional types?: ((...) | (...))[]
                              • Optional useDefineForClassFields?: boolean
                              • Optional useUnknownInCatchVariables?: boolean
                            • Optional defaultNumberType?: "number" | "integer"
                            • Optional defaultProps?: boolean
                            • Optional esModuleInterop?: boolean
                            • Optional excludePrivate?: boolean
                            • Optional id?: string
                            • Optional ignoreErrors?: boolean
                            • Optional include?: (undefined | string)[]
                            • Optional noExtraProps?: boolean
                            • Optional out?: string
                            • Optional propOrder?: boolean
                            • Optional ref?: boolean
                            • Optional rejectDateType?: boolean
                            • Optional required?: boolean
                            • Optional skipLibCheck?: boolean
                            • Optional strictNullChecks?: boolean
                            • Optional titles?: boolean
                            • Optional topRef?: boolean
                            • Optional tsNodeRegister?: boolean
                            • Optional typeOfKeyword?: boolean
                            • Optional uniqueNames?: boolean
                            • Optional validationKeywords?: (undefined | string)[]
                        • Optional typeMapping?: {
                              Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
                              Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
                              Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
                              Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
                              Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
                              Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
                              Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
                              Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
                              Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
                              String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
                              Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
                              Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
                          }

                      Returns Promise<RenderOutput>

                    • Parameters

                      • model: ConstrainedUnionModel
                      • inputModel: InputMetaModel
                      • Optional options: {
                            constraints?: {
                                constant?: ConstantConstraint<RustOptions>;
                                enumKey?: EnumKeyConstraint<RustOptions>;
                                enumValue?: EnumValueConstraint<RustOptions>;
                                modelName?: ModelNameConstraint<RustOptions>;
                                propertyKey?: PropertyKeyConstraint<RustOptions>;
                            };
                            defaultPreset?: {
                                enum?: {
                                    additionalContent?: ((args) => string | Promise<string>);
                                    item?: ((args) => string);
                                    itemMacro?: ((args) => string);
                                    self?: ((args) => string | Promise<string>);
                                    structMacro?: ((args) => string | Promise<string>);
                                };
                                newType?: {
                                    additionalContent?: ((args) => string | Promise<string>);
                                    field?: ((args) => string | Promise<string>);
                                    self?: ((args) => string | Promise<string>);
                                    structMacro?: ((args) => string | Promise<string>);
                                };
                                package?: {
                                    additionalContent?: ((args) => string | Promise<string>);
                                    lib?: ((args) => string);
                                    manifest?: ((args) => string);
                                    self?: ((args) => string | Promise<string>);
                                };
                                struct?: {
                                    additionalContent?: ((args) => string | Promise<string>);
                                    field?: ((args) => string | Promise<string>);
                                    fieldMacro?: ((args) => string | Promise<string>);
                                    self?: ((args) => string | Promise<string>);
                                    structMacro?: ((args) => string | Promise<string>);
                                };
                                tuple?: {
                                    additionalContent?: ((args) => string | Promise<string>);
                                    field?: ((args) => string | Promise<string>);
                                    self?: ((args) => string | Promise<string>);
                                    structMacro?: ((args) => string | Promise<string>);
                                };
                                union?: {
                                    additionalContent?: ((args) => string | Promise<string>);
                                    item?: ((args) => string);
                                    itemMacro?: ((args) => string);
                                    self?: ((args) => string | Promise<string>);
                                    structMacro?: ((args) => string | Promise<string>);
                                };
                            };
                            dependencyManager?: (() => AbstractDependencyManager) | {
                                dependencies?: (undefined | string)[];
                                addDependency?(dependency): void;
                            };
                            indentation?: {
                                size?: number;
                                type?: IndentationTypes;
                            };
                            presets?: (undefined | {
                                enum?: {
                                    additionalContent?: ((args) => (...) | (...));
                                    item?: ((args) => string);
                                    itemMacro?: ((args) => string);
                                    self?: ((args) => (...) | (...));
                                    structMacro?: ((args) => (...) | (...));
                                };
                                newType?: {
                                    additionalContent?: ((args) => (...) | (...));
                                    field?: ((args) => (...) | (...));
                                    self?: ((args) => (...) | (...));
                                    structMacro?: ((args) => (...) | (...));
                                };
                                package?: {
                                    additionalContent?: ((args) => (...) | (...));
                                    lib?: ((args) => string);
                                    manifest?: ((args) => string);
                                    self?: ((args) => (...) | (...));
                                };
                                struct?: {
                                    additionalContent?: ((args) => (...) | (...));
                                    field?: ((args) => (...) | (...));
                                    fieldMacro?: ((args) => (...) | (...));
                                    self?: ((args) => (...) | (...));
                                    structMacro?: ((args) => (...) | (...));
                                };
                                tuple?: {
                                    additionalContent?: ((args) => (...) | (...));
                                    field?: ((args) => (...) | (...));
                                    self?: ((args) => (...) | (...));
                                    structMacro?: ((args) => (...) | (...));
                                };
                                union?: {
                                    additionalContent?: ((args) => (...) | (...));
                                    item?: ((args) => string);
                                    itemMacro?: ((args) => string);
                                    self?: ((args) => (...) | (...));
                                    structMacro?: ((args) => (...) | (...));
                                };
                            } | {
                                options?: any;
                                preset?: {
                                    enum?: {
                                        additionalContent?: (...) | (...);
                                        item?: (...) | (...);
                                        itemMacro?: (...) | (...);
                                        self?: (...) | (...);
                                        structMacro?: (...) | (...);
                                    };
                                    newType?: {
                                        additionalContent?: (...) | (...);
                                        field?: (...) | (...);
                                        self?: (...) | (...);
                                        structMacro?: (...) | (...);
                                    };
                                    package?: {
                                        additionalContent?: (...) | (...);
                                        lib?: (...) | (...);
                                        manifest?: (...) | (...);
                                        self?: (...) | (...);
                                    };
                                    struct?: {
                                        additionalContent?: (...) | (...);
                                        field?: (...) | (...);
                                        fieldMacro?: (...) | (...);
                                        self?: (...) | (...);
                                        structMacro?: (...) | (...);
                                    };
                                    tuple?: {
                                        additionalContent?: (...) | (...);
                                        field?: (...) | (...);
                                        self?: (...) | (...);
                                        structMacro?: (...) | (...);
                                    };
                                    union?: {
                                        additionalContent?: (...) | (...);
                                        item?: (...) | (...);
                                        itemMacro?: (...) | (...);
                                        self?: (...) | (...);
                                        structMacro?: (...) | (...);
                                    };
                                };
                            })[];
                            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?: {};
                                        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;
                                    };
                                    defaultNumberType?: "number" | "integer";
                                    defaultProps?: boolean;
                                    esModuleInterop?: boolean;
                                    excludePrivate?: boolean;
                                    id?: string;
                                    ignoreErrors?: boolean;
                                    include?: (undefined | string)[];
                                    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?: (undefined | string)[];
                                };
                            };
                            typeMapping?: {
                                Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
                                Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
                                Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
                                Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
                                Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
                                Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
                                Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
                                Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
                                Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
                                String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
                                Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
                                Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
                            };
                        }
                        • Optional constraints?: {
                              constant?: ConstantConstraint<RustOptions>;
                              enumKey?: EnumKeyConstraint<RustOptions>;
                              enumValue?: EnumValueConstraint<RustOptions>;
                              modelName?: ModelNameConstraint<RustOptions>;
                              propertyKey?: PropertyKeyConstraint<RustOptions>;
                          }
                        • Optional defaultPreset?: {
                              enum?: {
                                  additionalContent?: ((args) => string | Promise<string>);
                                  item?: ((args) => string);
                                  itemMacro?: ((args) => string);
                                  self?: ((args) => string | Promise<string>);
                                  structMacro?: ((args) => string | Promise<string>);
                              };
                              newType?: {
                                  additionalContent?: ((args) => string | Promise<string>);
                                  field?: ((args) => string | Promise<string>);
                                  self?: ((args) => string | Promise<string>);
                                  structMacro?: ((args) => string | Promise<string>);
                              };
                              package?: {
                                  additionalContent?: ((args) => string | Promise<string>);
                                  lib?: ((args) => string);
                                  manifest?: ((args) => string);
                                  self?: ((args) => string | Promise<string>);
                              };
                              struct?: {
                                  additionalContent?: ((args) => string | Promise<string>);
                                  field?: ((args) => string | Promise<string>);
                                  fieldMacro?: ((args) => string | Promise<string>);
                                  self?: ((args) => string | Promise<string>);
                                  structMacro?: ((args) => string | Promise<string>);
                              };
                              tuple?: {
                                  additionalContent?: ((args) => string | Promise<string>);
                                  field?: ((args) => string | Promise<string>);
                                  self?: ((args) => string | Promise<string>);
                                  structMacro?: ((args) => string | Promise<string>);
                              };
                              union?: {
                                  additionalContent?: ((args) => string | Promise<string>);
                                  item?: ((args) => string);
                                  itemMacro?: ((args) => string);
                                  self?: ((args) => string | Promise<string>);
                                  structMacro?: ((args) => string | Promise<string>);
                              };
                          }
                          • Optional enum?: {
                                additionalContent?: ((args) => string | Promise<string>);
                                item?: ((args) => string);
                                itemMacro?: ((args) => string);
                                self?: ((args) => string | Promise<string>);
                                structMacro?: ((args) => string | Promise<string>);
                            }
                            • Optional additionalContent?: ((args) => string | Promise<string>)
                            • Optional item?: ((args) => string)
                            • Optional itemMacro?: ((args) => string)
                            • Optional self?: ((args) => string | Promise<string>)
                            • Optional structMacro?: ((args) => string | Promise<string>)
                          • Optional newType?: {
                                additionalContent?: ((args) => string | Promise<string>);
                                field?: ((args) => string | Promise<string>);
                                self?: ((args) => string | Promise<string>);
                                structMacro?: ((args) => string | Promise<string>);
                            }
                            • Optional additionalContent?: ((args) => string | Promise<string>)
                            • Optional field?: ((args) => string | Promise<string>)
                            • Optional self?: ((args) => string | Promise<string>)
                            • Optional structMacro?: ((args) => string | Promise<string>)
                          • Optional package?: {
                                additionalContent?: ((args) => string | Promise<string>);
                                lib?: ((args) => string);
                                manifest?: ((args) => string);
                                self?: ((args) => string | Promise<string>);
                            }
                            • Optional additionalContent?: ((args) => string | Promise<string>)
                            • Optional lib?: ((args) => string)
                            • Optional manifest?: ((args) => string)
                            • Optional self?: ((args) => string | Promise<string>)
                          • Optional struct?: {
                                additionalContent?: ((args) => string | Promise<string>);
                                field?: ((args) => string | Promise<string>);
                                fieldMacro?: ((args) => string | Promise<string>);
                                self?: ((args) => string | Promise<string>);
                                structMacro?: ((args) => string | Promise<string>);
                            }
                            • Optional additionalContent?: ((args) => string | Promise<string>)
                            • Optional field?: ((args) => string | Promise<string>)
                            • Optional fieldMacro?: ((args) => string | Promise<string>)
                            • Optional self?: ((args) => string | Promise<string>)
                            • Optional structMacro?: ((args) => string | Promise<string>)
                          • Optional tuple?: {
                                additionalContent?: ((args) => string | Promise<string>);
                                field?: ((args) => string | Promise<string>);
                                self?: ((args) => string | Promise<string>);
                                structMacro?: ((args) => string | Promise<string>);
                            }
                            • Optional additionalContent?: ((args) => string | Promise<string>)
                            • Optional field?: ((args) => string | Promise<string>)
                            • Optional self?: ((args) => string | Promise<string>)
                            • Optional structMacro?: ((args) => string | Promise<string>)
                          • Optional union?: {
                                additionalContent?: ((args) => string | Promise<string>);
                                item?: ((args) => string);
                                itemMacro?: ((args) => string);
                                self?: ((args) => string | Promise<string>);
                                structMacro?: ((args) => string | Promise<string>);
                            }
                            • Optional additionalContent?: ((args) => string | Promise<string>)
                            • Optional item?: ((args) => string)
                            • Optional itemMacro?: ((args) => string)
                            • Optional self?: ((args) => string | Promise<string>)
                            • Optional structMacro?: ((args) => string | Promise<string>)
                        • Optional dependencyManager?: (() => AbstractDependencyManager) | {
                              dependencies?: (undefined | string)[];
                              addDependency?(dependency): void;
                          }

                          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.

                        • Optional indentation?: {
                              size?: number;
                              type?: IndentationTypes;
                          }
                        • Optional presets?: (undefined | {
                              enum?: {
                                  additionalContent?: ((args) => (...) | (...));
                                  item?: ((args) => string);
                                  itemMacro?: ((args) => string);
                                  self?: ((args) => (...) | (...));
                                  structMacro?: ((args) => (...) | (...));
                              };
                              newType?: {
                                  additionalContent?: ((args) => (...) | (...));
                                  field?: ((args) => (...) | (...));
                                  self?: ((args) => (...) | (...));
                                  structMacro?: ((args) => (...) | (...));
                              };
                              package?: {
                                  additionalContent?: ((args) => (...) | (...));
                                  lib?: ((args) => string);
                                  manifest?: ((args) => string);
                                  self?: ((args) => (...) | (...));
                              };
                              struct?: {
                                  additionalContent?: ((args) => (...) | (...));
                                  field?: ((args) => (...) | (...));
                                  fieldMacro?: ((args) => (...) | (...));
                                  self?: ((args) => (...) | (...));
                                  structMacro?: ((args) => (...) | (...));
                              };
                              tuple?: {
                                  additionalContent?: ((args) => (...) | (...));
                                  field?: ((args) => (...) | (...));
                                  self?: ((args) => (...) | (...));
                                  structMacro?: ((args) => (...) | (...));
                              };
                              union?: {
                                  additionalContent?: ((args) => (...) | (...));
                                  item?: ((args) => string);
                                  itemMacro?: ((args) => string);
                                  self?: ((args) => (...) | (...));
                                  structMacro?: ((args) => (...) | (...));
                              };
                          } | {
                              options?: any;
                              preset?: {
                                  enum?: {
                                      additionalContent?: (...) | (...);
                                      item?: (...) | (...);
                                      itemMacro?: (...) | (...);
                                      self?: (...) | (...);
                                      structMacro?: (...) | (...);
                                  };
                                  newType?: {
                                      additionalContent?: (...) | (...);
                                      field?: (...) | (...);
                                      self?: (...) | (...);
                                      structMacro?: (...) | (...);
                                  };
                                  package?: {
                                      additionalContent?: (...) | (...);
                                      lib?: (...) | (...);
                                      manifest?: (...) | (...);
                                      self?: (...) | (...);
                                  };
                                  struct?: {
                                      additionalContent?: (...) | (...);
                                      field?: (...) | (...);
                                      fieldMacro?: (...) | (...);
                                      self?: (...) | (...);
                                      structMacro?: (...) | (...);
                                  };
                                  tuple?: {
                                      additionalContent?: (...) | (...);
                                      field?: (...) | (...);
                                      self?: (...) | (...);
                                      structMacro?: (...) | (...);
                                  };
                                  union?: {
                                      additionalContent?: (...) | (...);
                                      item?: (...) | (...);
                                      itemMacro?: (...) | (...);
                                      self?: (...) | (...);
                                      structMacro?: (...) | (...);
                                  };
                              };
                          })[]
                        • Optional 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?: {};
                                      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;
                                  };
                                  defaultNumberType?: "number" | "integer";
                                  defaultProps?: boolean;
                                  esModuleInterop?: boolean;
                                  excludePrivate?: boolean;
                                  id?: string;
                                  ignoreErrors?: boolean;
                                  include?: (undefined | string)[];
                                  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?: (undefined | string)[];
                              };
                          }
                          • Optional asyncapi?: {
                                __unstable?: {
                                    resolver?: {
                                        resolvers?: (...) | (...);
                                    };
                                };
                                applyTraits?: boolean;
                                parseSchemas?: boolean;
                                source?: string;
                                validateOptions?: {
                                    __unstable?: {
                                        resolver?: (...) | (...);
                                    };
                                    allowedSeverity?: {
                                        error?: (...) | (...) | (...);
                                        hint?: (...) | (...) | (...);
                                        info?: (...) | (...) | (...);
                                        warning?: (...) | (...) | (...);
                                    };
                                    ignoreUnknownFormat?: boolean;
                                };
                            }
                            • Optional __unstable?: {
                                  resolver?: {
                                      resolvers?: (...) | (...);
                                  };
                              }
                              • Optional resolver?: {
                                    resolvers?: (...) | (...);
                                }
                                • Optional resolvers?: (...) | (...)
                            • Optional applyTraits?: boolean
                            • Optional parseSchemas?: boolean
                            • Optional source?: string
                            • Optional validateOptions?: {
                                  __unstable?: {
                                      resolver?: (...) | (...);
                                  };
                                  allowedSeverity?: {
                                      error?: (...) | (...) | (...);
                                      hint?: (...) | (...) | (...);
                                      info?: (...) | (...) | (...);
                                      warning?: (...) | (...) | (...);
                                  };
                                  ignoreUnknownFormat?: boolean;
                              }
                              • Optional __unstable?: {
                                    resolver?: (...) | (...);
                                }
                                • Optional resolver?: (...) | (...)
                              • Optional allowedSeverity?: {
                                    error?: (...) | (...) | (...);
                                    hint?: (...) | (...) | (...);
                                    info?: (...) | (...) | (...);
                                    warning?: (...) | (...) | (...);
                                }
                                • Optional error?: (...) | (...) | (...)
                                • Optional hint?: (...) | (...) | (...)
                                • Optional info?: (...) | (...) | (...)
                                • Optional warning?: (...) | (...) | (...)
                              • Optional ignoreUnknownFormat?: boolean
                          • Optional jsonSchema?: {
                                allowInheritance?: boolean;
                                disableCache?: boolean;
                                discriminator?: string;
                                ignoreAdditionalItems?: boolean;
                                ignoreAdditionalProperties?: boolean;
                                interpretSingleEnumAsConst?: boolean;
                                propertyNameForAdditionalProperties?: string;
                            }
                            • Optional allowInheritance?: boolean
                            • Optional disableCache?: 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.

                            • Optional discriminator?: 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.

                            • Optional ignoreAdditionalItems?: 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.

                            • Optional ignoreAdditionalProperties?: 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.

                            • Optional interpretSingleEnumAsConst?: 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.

                            • Optional propertyNameForAdditionalProperties?: string

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

                          • Optional openapi?: {
                                includeComponentSchemas?: boolean;
                            }
                            • Optional includeComponentSchemas?: boolean
                          • Optional 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?: {};
                                    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;
                                };
                                defaultNumberType?: "number" | "integer";
                                defaultProps?: boolean;
                                esModuleInterop?: boolean;
                                excludePrivate?: boolean;
                                id?: string;
                                ignoreErrors?: boolean;
                                include?: (undefined | string)[];
                                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?: (undefined | string)[];
                            }
                            • Optional aliasRef?: boolean
                            • Optional 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?: {};
                                  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;
                              }
                              • Optional allowJs?: boolean
                              • Optional allowSyntheticDefaultImports?: boolean
                              • Optional allowUmdGlobalAccess?: boolean
                              • Optional allowUnreachableCode?: boolean
                              • Optional allowUnusedLabels?: boolean
                              • Optional alwaysStrict?: boolean
                              • Optional assumeChangesOnlyAffectDirectDependencies?: boolean
                              • Optional baseUrl?: string
                              • Optional charset?: string
                              • Optional checkJs?: boolean
                              • Optional composite?: boolean
                              • Optional declaration?: boolean
                              • Optional declarationDir?: string
                              • Optional declarationMap?: boolean
                              • Optional disableReferencedProjectLoad?: boolean
                              • Optional disableSizeLimit?: boolean
                              • Optional disableSolutionSearching?: boolean
                              • Optional disableSourceOfProjectReferenceRedirect?: boolean
                              • Optional downlevelIteration?: boolean
                              • Optional emitBOM?: boolean
                              • Optional emitDeclarationOnly?: boolean
                              • Optional emitDecoratorMetadata?: boolean
                              • Optional esModuleInterop?: boolean
                              • Optional exactOptionalPropertyTypes?: boolean
                              • Optional experimentalDecorators?: boolean
                              • Optional forceConsistentCasingInFileNames?: boolean
                              • Optional importHelpers?: boolean
                              • Optional importsNotUsedAsValues?: ImportsNotUsedAsValues
                              • Optional incremental?: boolean
                              • Optional inlineSourceMap?: boolean
                              • Optional inlineSources?: boolean
                              • Optional isolatedModules?: boolean
                              • Optional jsx?: JsxEmit
                              • Optional jsxFactory?: string
                              • Optional jsxFragmentFactory?: string
                              • Optional jsxImportSource?: string
                              • Optional keyofStringsOnly?: boolean
                              • Optional lib?: ((...) | (...))[]
                              • Optional locale?: string
                              • Optional mapRoot?: string
                              • Optional maxNodeModuleJsDepth?: number
                              • Optional module?: ModuleKind
                              • Optional moduleDetection?: ModuleDetectionKind
                              • Optional moduleResolution?: ModuleResolutionKind
                              • Optional moduleSuffixes?: ((...) | (...))[]
                              • Optional newLine?: NewLineKind
                              • Optional noEmit?: boolean
                              • Optional noEmitHelpers?: boolean
                              • Optional noEmitOnError?: boolean
                              • Optional noErrorTruncation?: boolean
                              • Optional noFallthroughCasesInSwitch?: boolean
                              • Optional noImplicitAny?: boolean
                              • Optional noImplicitOverride?: boolean
                              • Optional noImplicitReturns?: boolean
                              • Optional noImplicitThis?: boolean
                              • Optional noImplicitUseStrict?: boolean
                              • Optional noLib?: boolean
                              • Optional noPropertyAccessFromIndexSignature?: boolean
                              • Optional noResolve?: boolean
                              • Optional noStrictGenericChecks?: boolean
                              • Optional noUncheckedIndexedAccess?: boolean
                              • Optional noUnusedLocals?: boolean
                              • Optional noUnusedParameters?: boolean
                              • Optional out?: string
                              • Optional outDir?: string
                              • Optional outFile?: string
                              • Optional paths?: {}
                                • Optional preserveConstEnums?: boolean
                                • Optional preserveSymlinks?: boolean
                                • Optional preserveValueImports?: boolean
                                • Optional project?: string
                                • Optional reactNamespace?: string
                                • Optional removeComments?: boolean
                                • Optional resolveJsonModule?: boolean
                                • Optional rootDir?: string
                                • Optional rootDirs?: ((...) | (...))[]
                                • Optional skipDefaultLibCheck?: boolean
                                • Optional skipLibCheck?: boolean
                                • Optional sourceMap?: boolean
                                • Optional sourceRoot?: string
                                • Optional strict?: boolean
                                • Optional strictBindCallApply?: boolean
                                • Optional strictFunctionTypes?: boolean
                                • Optional strictNullChecks?: boolean
                                • Optional strictPropertyInitialization?: boolean
                                • Optional stripInternal?: boolean
                                • Optional suppressExcessPropertyErrors?: boolean
                                • Optional suppressImplicitAnyIndexErrors?: boolean
                                • Optional target?: ScriptTarget
                                • Optional traceResolution?: boolean
                                • Optional tsBuildInfoFile?: string
                                • Optional typeRoots?: ((...) | (...))[]

                                  Paths used to compute primary types search locations

                                • Optional types?: ((...) | (...))[]
                                • Optional useDefineForClassFields?: boolean
                                • Optional useUnknownInCatchVariables?: boolean
                              • Optional defaultNumberType?: "number" | "integer"
                              • Optional defaultProps?: boolean
                              • Optional esModuleInterop?: boolean
                              • Optional excludePrivate?: boolean
                              • Optional id?: string
                              • Optional ignoreErrors?: boolean
                              • Optional include?: (undefined | string)[]
                              • Optional noExtraProps?: boolean
                              • Optional out?: string
                              • Optional propOrder?: boolean
                              • Optional ref?: boolean
                              • Optional rejectDateType?: boolean
                              • Optional required?: boolean
                              • Optional skipLibCheck?: boolean
                              • Optional strictNullChecks?: boolean
                              • Optional titles?: boolean
                              • Optional topRef?: boolean
                              • Optional tsNodeRegister?: boolean
                              • Optional typeOfKeyword?: boolean
                              • Optional uniqueNames?: boolean
                              • Optional validationKeywords?: (undefined | string)[]
                          • Optional typeMapping?: {
                                Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
                                Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
                                Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
                                Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
                                Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
                                Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
                                Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
                                Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
                                Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
                                String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
                                Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
                                Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
                            }

                        Returns Promise<RenderOutput>

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

                        Parameters

                        • Optional options: {
                              package?: {
                                  authors?: (undefined | string)[];
                                  description?: string;
                                  edition?: string;
                                  homepage?: string;
                                  license?: string;
                                  packageFeatures?: (undefined | json)[];
                                  packageName?: string;
                                  packageVersion?: string;
                                  repository?: string;
                              };
                              supportFiles?: boolean;
                          }
                          • Optional package?: {
                                authors?: (undefined | string)[];
                                description?: string;
                                edition?: string;
                                homepage?: string;
                                license?: string;
                                packageFeatures?: (undefined | json)[];
                                packageName?: string;
                                packageVersion?: string;
                                repository?: string;
                            }
                            • Optional authors?: (undefined | string)[]
                            • Optional description?: string
                            • Optional edition?: string
                            • Optional homepage?: string
                            • Optional license?: string
                            • Optional packageFeatures?: (undefined | json)[]
                            • Optional packageName?: string
                            • Optional packageVersion?: string
                            • Optional repository?: string
                          • Optional supportFiles?: boolean

                        Returns RustRenderCompleteModelOptions

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

                        Parameters

                        • Optional options: {
                              constraints?: {
                                  constant?: ConstantConstraint<RustOptions>;
                                  enumKey?: EnumKeyConstraint<RustOptions>;
                                  enumValue?: EnumValueConstraint<RustOptions>;
                                  modelName?: ModelNameConstraint<RustOptions>;
                                  propertyKey?: PropertyKeyConstraint<RustOptions>;
                              };
                              defaultPreset?: {
                                  enum?: {
                                      additionalContent?: ((args) => string | Promise<string>);
                                      item?: ((args) => string);
                                      itemMacro?: ((args) => string);
                                      self?: ((args) => string | Promise<string>);
                                      structMacro?: ((args) => string | Promise<string>);
                                  };
                                  newType?: {
                                      additionalContent?: ((args) => string | Promise<string>);
                                      field?: ((args) => string | Promise<string>);
                                      self?: ((args) => string | Promise<string>);
                                      structMacro?: ((args) => string | Promise<string>);
                                  };
                                  package?: {
                                      additionalContent?: ((args) => string | Promise<string>);
                                      lib?: ((args) => string);
                                      manifest?: ((args) => string);
                                      self?: ((args) => string | Promise<string>);
                                  };
                                  struct?: {
                                      additionalContent?: ((args) => string | Promise<string>);
                                      field?: ((args) => string | Promise<string>);
                                      fieldMacro?: ((args) => string | Promise<string>);
                                      self?: ((args) => string | Promise<string>);
                                      structMacro?: ((args) => string | Promise<string>);
                                  };
                                  tuple?: {
                                      additionalContent?: ((args) => string | Promise<string>);
                                      field?: ((args) => string | Promise<string>);
                                      self?: ((args) => string | Promise<string>);
                                      structMacro?: ((args) => string | Promise<string>);
                                  };
                                  union?: {
                                      additionalContent?: ((args) => string | Promise<string>);
                                      item?: ((args) => string);
                                      itemMacro?: ((args) => string);
                                      self?: ((args) => string | Promise<string>);
                                      structMacro?: ((args) => string | Promise<string>);
                                  };
                              };
                              dependencyManager?: (() => AbstractDependencyManager) | {
                                  dependencies?: (undefined | string)[];
                                  addDependency?(dependency): void;
                              };
                              indentation?: {
                                  size?: number;
                                  type?: IndentationTypes;
                              };
                              presets?: (undefined | {
                                  enum?: {
                                      additionalContent?: ((args) => (...) | (...));
                                      item?: ((args) => string);
                                      itemMacro?: ((args) => string);
                                      self?: ((args) => (...) | (...));
                                      structMacro?: ((args) => (...) | (...));
                                  };
                                  newType?: {
                                      additionalContent?: ((args) => (...) | (...));
                                      field?: ((args) => (...) | (...));
                                      self?: ((args) => (...) | (...));
                                      structMacro?: ((args) => (...) | (...));
                                  };
                                  package?: {
                                      additionalContent?: ((args) => (...) | (...));
                                      lib?: ((args) => string);
                                      manifest?: ((args) => string);
                                      self?: ((args) => (...) | (...));
                                  };
                                  struct?: {
                                      additionalContent?: ((args) => (...) | (...));
                                      field?: ((args) => (...) | (...));
                                      fieldMacro?: ((args) => (...) | (...));
                                      self?: ((args) => (...) | (...));
                                      structMacro?: ((args) => (...) | (...));
                                  };
                                  tuple?: {
                                      additionalContent?: ((args) => (...) | (...));
                                      field?: ((args) => (...) | (...));
                                      self?: ((args) => (...) | (...));
                                      structMacro?: ((args) => (...) | (...));
                                  };
                                  union?: {
                                      additionalContent?: ((args) => (...) | (...));
                                      item?: ((args) => string);
                                      itemMacro?: ((args) => string);
                                      self?: ((args) => (...) | (...));
                                      structMacro?: ((args) => (...) | (...));
                                  };
                              } | {
                                  options?: any;
                                  preset?: {
                                      enum?: {
                                          additionalContent?: (...) | (...);
                                          item?: (...) | (...);
                                          itemMacro?: (...) | (...);
                                          self?: (...) | (...);
                                          structMacro?: (...) | (...);
                                      };
                                      newType?: {
                                          additionalContent?: (...) | (...);
                                          field?: (...) | (...);
                                          self?: (...) | (...);
                                          structMacro?: (...) | (...);
                                      };
                                      package?: {
                                          additionalContent?: (...) | (...);
                                          lib?: (...) | (...);
                                          manifest?: (...) | (...);
                                          self?: (...) | (...);
                                      };
                                      struct?: {
                                          additionalContent?: (...) | (...);
                                          field?: (...) | (...);
                                          fieldMacro?: (...) | (...);
                                          self?: (...) | (...);
                                          structMacro?: (...) | (...);
                                      };
                                      tuple?: {
                                          additionalContent?: (...) | (...);
                                          field?: (...) | (...);
                                          self?: (...) | (...);
                                          structMacro?: (...) | (...);
                                      };
                                      union?: {
                                          additionalContent?: (...) | (...);
                                          item?: (...) | (...);
                                          itemMacro?: (...) | (...);
                                          self?: (...) | (...);
                                          structMacro?: (...) | (...);
                                      };
                                  };
                              })[];
                              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?: {};
                                          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;
                                      };
                                      defaultNumberType?: "number" | "integer";
                                      defaultProps?: boolean;
                                      esModuleInterop?: boolean;
                                      excludePrivate?: boolean;
                                      id?: string;
                                      ignoreErrors?: boolean;
                                      include?: (undefined | string)[];
                                      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?: (undefined | string)[];
                                  };
                              };
                              typeMapping?: {
                                  Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
                                  Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
                                  Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
                                  Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
                                  Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
                                  Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
                                  Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
                                  Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
                                  Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
                                  String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
                                  Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
                                  Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
                              };
                          }
                          • Optional constraints?: {
                                constant?: ConstantConstraint<RustOptions>;
                                enumKey?: EnumKeyConstraint<RustOptions>;
                                enumValue?: EnumValueConstraint<RustOptions>;
                                modelName?: ModelNameConstraint<RustOptions>;
                                propertyKey?: PropertyKeyConstraint<RustOptions>;
                            }
                          • Optional defaultPreset?: {
                                enum?: {
                                    additionalContent?: ((args) => string | Promise<string>);
                                    item?: ((args) => string);
                                    itemMacro?: ((args) => string);
                                    self?: ((args) => string | Promise<string>);
                                    structMacro?: ((args) => string | Promise<string>);
                                };
                                newType?: {
                                    additionalContent?: ((args) => string | Promise<string>);
                                    field?: ((args) => string | Promise<string>);
                                    self?: ((args) => string | Promise<string>);
                                    structMacro?: ((args) => string | Promise<string>);
                                };
                                package?: {
                                    additionalContent?: ((args) => string | Promise<string>);
                                    lib?: ((args) => string);
                                    manifest?: ((args) => string);
                                    self?: ((args) => string | Promise<string>);
                                };
                                struct?: {
                                    additionalContent?: ((args) => string | Promise<string>);
                                    field?: ((args) => string | Promise<string>);
                                    fieldMacro?: ((args) => string | Promise<string>);
                                    self?: ((args) => string | Promise<string>);
                                    structMacro?: ((args) => string | Promise<string>);
                                };
                                tuple?: {
                                    additionalContent?: ((args) => string | Promise<string>);
                                    field?: ((args) => string | Promise<string>);
                                    self?: ((args) => string | Promise<string>);
                                    structMacro?: ((args) => string | Promise<string>);
                                };
                                union?: {
                                    additionalContent?: ((args) => string | Promise<string>);
                                    item?: ((args) => string);
                                    itemMacro?: ((args) => string);
                                    self?: ((args) => string | Promise<string>);
                                    structMacro?: ((args) => string | Promise<string>);
                                };
                            }
                            • Optional enum?: {
                                  additionalContent?: ((args) => string | Promise<string>);
                                  item?: ((args) => string);
                                  itemMacro?: ((args) => string);
                                  self?: ((args) => string | Promise<string>);
                                  structMacro?: ((args) => string | Promise<string>);
                              }
                              • Optional additionalContent?: ((args) => string | Promise<string>)
                              • Optional item?: ((args) => string)
                              • Optional itemMacro?: ((args) => string)
                              • Optional self?: ((args) => string | Promise<string>)
                              • Optional structMacro?: ((args) => string | Promise<string>)
                            • Optional newType?: {
                                  additionalContent?: ((args) => string | Promise<string>);
                                  field?: ((args) => string | Promise<string>);
                                  self?: ((args) => string | Promise<string>);
                                  structMacro?: ((args) => string | Promise<string>);
                              }
                              • Optional additionalContent?: ((args) => string | Promise<string>)
                              • Optional field?: ((args) => string | Promise<string>)
                              • Optional self?: ((args) => string | Promise<string>)
                              • Optional structMacro?: ((args) => string | Promise<string>)
                            • Optional package?: {
                                  additionalContent?: ((args) => string | Promise<string>);
                                  lib?: ((args) => string);
                                  manifest?: ((args) => string);
                                  self?: ((args) => string | Promise<string>);
                              }
                              • Optional additionalContent?: ((args) => string | Promise<string>)
                              • Optional lib?: ((args) => string)
                              • Optional manifest?: ((args) => string)
                              • Optional self?: ((args) => string | Promise<string>)
                            • Optional struct?: {
                                  additionalContent?: ((args) => string | Promise<string>);
                                  field?: ((args) => string | Promise<string>);
                                  fieldMacro?: ((args) => string | Promise<string>);
                                  self?: ((args) => string | Promise<string>);
                                  structMacro?: ((args) => string | Promise<string>);
                              }
                              • Optional additionalContent?: ((args) => string | Promise<string>)
                              • Optional field?: ((args) => string | Promise<string>)
                              • Optional fieldMacro?: ((args) => string | Promise<string>)
                              • Optional self?: ((args) => string | Promise<string>)
                              • Optional structMacro?: ((args) => string | Promise<string>)
                            • Optional tuple?: {
                                  additionalContent?: ((args) => string | Promise<string>);
                                  field?: ((args) => string | Promise<string>);
                                  self?: ((args) => string | Promise<string>);
                                  structMacro?: ((args) => string | Promise<string>);
                              }
                              • Optional additionalContent?: ((args) => string | Promise<string>)
                              • Optional field?: ((args) => string | Promise<string>)
                              • Optional self?: ((args) => string | Promise<string>)
                              • Optional structMacro?: ((args) => string | Promise<string>)
                            • Optional union?: {
                                  additionalContent?: ((args) => string | Promise<string>);
                                  item?: ((args) => string);
                                  itemMacro?: ((args) => string);
                                  self?: ((args) => string | Promise<string>);
                                  structMacro?: ((args) => string | Promise<string>);
                              }
                              • Optional additionalContent?: ((args) => string | Promise<string>)
                              • Optional item?: ((args) => string)
                              • Optional itemMacro?: ((args) => string)
                              • Optional self?: ((args) => string | Promise<string>)
                              • Optional structMacro?: ((args) => string | Promise<string>)
                          • Optional dependencyManager?: (() => AbstractDependencyManager) | {
                                dependencies?: (undefined | string)[];
                                addDependency?(dependency): void;
                            }

                            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.

                          • Optional indentation?: {
                                size?: number;
                                type?: IndentationTypes;
                            }
                          • Optional presets?: (undefined | {
                                enum?: {
                                    additionalContent?: ((args) => (...) | (...));
                                    item?: ((args) => string);
                                    itemMacro?: ((args) => string);
                                    self?: ((args) => (...) | (...));
                                    structMacro?: ((args) => (...) | (...));
                                };
                                newType?: {
                                    additionalContent?: ((args) => (...) | (...));
                                    field?: ((args) => (...) | (...));
                                    self?: ((args) => (...) | (...));
                                    structMacro?: ((args) => (...) | (...));
                                };
                                package?: {
                                    additionalContent?: ((args) => (...) | (...));
                                    lib?: ((args) => string);
                                    manifest?: ((args) => string);
                                    self?: ((args) => (...) | (...));
                                };
                                struct?: {
                                    additionalContent?: ((args) => (...) | (...));
                                    field?: ((args) => (...) | (...));
                                    fieldMacro?: ((args) => (...) | (...));
                                    self?: ((args) => (...) | (...));
                                    structMacro?: ((args) => (...) | (...));
                                };
                                tuple?: {
                                    additionalContent?: ((args) => (...) | (...));
                                    field?: ((args) => (...) | (...));
                                    self?: ((args) => (...) | (...));
                                    structMacro?: ((args) => (...) | (...));
                                };
                                union?: {
                                    additionalContent?: ((args) => (...) | (...));
                                    item?: ((args) => string);
                                    itemMacro?: ((args) => string);
                                    self?: ((args) => (...) | (...));
                                    structMacro?: ((args) => (...) | (...));
                                };
                            } | {
                                options?: any;
                                preset?: {
                                    enum?: {
                                        additionalContent?: (...) | (...);
                                        item?: (...) | (...);
                                        itemMacro?: (...) | (...);
                                        self?: (...) | (...);
                                        structMacro?: (...) | (...);
                                    };
                                    newType?: {
                                        additionalContent?: (...) | (...);
                                        field?: (...) | (...);
                                        self?: (...) | (...);
                                        structMacro?: (...) | (...);
                                    };
                                    package?: {
                                        additionalContent?: (...) | (...);
                                        lib?: (...) | (...);
                                        manifest?: (...) | (...);
                                        self?: (...) | (...);
                                    };
                                    struct?: {
                                        additionalContent?: (...) | (...);
                                        field?: (...) | (...);
                                        fieldMacro?: (...) | (...);
                                        self?: (...) | (...);
                                        structMacro?: (...) | (...);
                                    };
                                    tuple?: {
                                        additionalContent?: (...) | (...);
                                        field?: (...) | (...);
                                        self?: (...) | (...);
                                        structMacro?: (...) | (...);
                                    };
                                    union?: {
                                        additionalContent?: (...) | (...);
                                        item?: (...) | (...);
                                        itemMacro?: (...) | (...);
                                        self?: (...) | (...);
                                        structMacro?: (...) | (...);
                                    };
                                };
                            })[]
                          • Optional 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?: {};
                                        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;
                                    };
                                    defaultNumberType?: "number" | "integer";
                                    defaultProps?: boolean;
                                    esModuleInterop?: boolean;
                                    excludePrivate?: boolean;
                                    id?: string;
                                    ignoreErrors?: boolean;
                                    include?: (undefined | string)[];
                                    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?: (undefined | string)[];
                                };
                            }
                            • Optional asyncapi?: {
                                  __unstable?: {
                                      resolver?: {
                                          resolvers?: (...) | (...);
                                      };
                                  };
                                  applyTraits?: boolean;
                                  parseSchemas?: boolean;
                                  source?: string;
                                  validateOptions?: {
                                      __unstable?: {
                                          resolver?: (...) | (...);
                                      };
                                      allowedSeverity?: {
                                          error?: (...) | (...) | (...);
                                          hint?: (...) | (...) | (...);
                                          info?: (...) | (...) | (...);
                                          warning?: (...) | (...) | (...);
                                      };
                                      ignoreUnknownFormat?: boolean;
                                  };
                              }
                              • Optional __unstable?: {
                                    resolver?: {
                                        resolvers?: (...) | (...);
                                    };
                                }
                                • Optional resolver?: {
                                      resolvers?: (...) | (...);
                                  }
                                  • Optional resolvers?: (...) | (...)
                              • Optional applyTraits?: boolean
                              • Optional parseSchemas?: boolean
                              • Optional source?: string
                              • Optional validateOptions?: {
                                    __unstable?: {
                                        resolver?: (...) | (...);
                                    };
                                    allowedSeverity?: {
                                        error?: (...) | (...) | (...);
                                        hint?: (...) | (...) | (...);
                                        info?: (...) | (...) | (...);
                                        warning?: (...) | (...) | (...);
                                    };
                                    ignoreUnknownFormat?: boolean;
                                }
                                • Optional __unstable?: {
                                      resolver?: (...) | (...);
                                  }
                                  • Optional resolver?: (...) | (...)
                                • Optional allowedSeverity?: {
                                      error?: (...) | (...) | (...);
                                      hint?: (...) | (...) | (...);
                                      info?: (...) | (...) | (...);
                                      warning?: (...) | (...) | (...);
                                  }
                                  • Optional error?: (...) | (...) | (...)
                                  • Optional hint?: (...) | (...) | (...)
                                  • Optional info?: (...) | (...) | (...)
                                  • Optional warning?: (...) | (...) | (...)
                                • Optional ignoreUnknownFormat?: boolean
                            • Optional jsonSchema?: {
                                  allowInheritance?: boolean;
                                  disableCache?: boolean;
                                  discriminator?: string;
                                  ignoreAdditionalItems?: boolean;
                                  ignoreAdditionalProperties?: boolean;
                                  interpretSingleEnumAsConst?: boolean;
                                  propertyNameForAdditionalProperties?: string;
                              }
                              • Optional allowInheritance?: boolean
                              • Optional disableCache?: 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.

                              • Optional discriminator?: 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.

                              • Optional ignoreAdditionalItems?: 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.

                              • Optional ignoreAdditionalProperties?: 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.

                              • Optional interpretSingleEnumAsConst?: 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.

                              • Optional propertyNameForAdditionalProperties?: string

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

                            • Optional openapi?: {
                                  includeComponentSchemas?: boolean;
                              }
                              • Optional includeComponentSchemas?: boolean
                            • Optional 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?: {};
                                      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;
                                  };
                                  defaultNumberType?: "number" | "integer";
                                  defaultProps?: boolean;
                                  esModuleInterop?: boolean;
                                  excludePrivate?: boolean;
                                  id?: string;
                                  ignoreErrors?: boolean;
                                  include?: (undefined | string)[];
                                  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?: (undefined | string)[];
                              }
                              • Optional aliasRef?: boolean
                              • Optional 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?: {};
                                    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;
                                }
                                • Optional allowJs?: boolean
                                • Optional allowSyntheticDefaultImports?: boolean
                                • Optional allowUmdGlobalAccess?: boolean
                                • Optional allowUnreachableCode?: boolean
                                • Optional allowUnusedLabels?: boolean
                                • Optional alwaysStrict?: boolean
                                • Optional assumeChangesOnlyAffectDirectDependencies?: boolean
                                • Optional baseUrl?: string
                                • Optional charset?: string
                                • Optional checkJs?: boolean
                                • Optional composite?: boolean
                                • Optional declaration?: boolean
                                • Optional declarationDir?: string
                                • Optional declarationMap?: boolean
                                • Optional disableReferencedProjectLoad?: boolean
                                • Optional disableSizeLimit?: boolean
                                • Optional disableSolutionSearching?: boolean
                                • Optional disableSourceOfProjectReferenceRedirect?: boolean
                                • Optional downlevelIteration?: boolean
                                • Optional emitBOM?: boolean
                                • Optional emitDeclarationOnly?: boolean
                                • Optional emitDecoratorMetadata?: boolean
                                • Optional esModuleInterop?: boolean
                                • Optional exactOptionalPropertyTypes?: boolean
                                • Optional experimentalDecorators?: boolean
                                • Optional forceConsistentCasingInFileNames?: boolean
                                • Optional importHelpers?: boolean
                                • Optional importsNotUsedAsValues?: ImportsNotUsedAsValues
                                • Optional incremental?: boolean
                                • Optional inlineSourceMap?: boolean
                                • Optional inlineSources?: boolean
                                • Optional isolatedModules?: boolean
                                • Optional jsx?: JsxEmit
                                • Optional jsxFactory?: string
                                • Optional jsxFragmentFactory?: string
                                • Optional jsxImportSource?: string
                                • Optional keyofStringsOnly?: boolean
                                • Optional lib?: ((...) | (...))[]
                                • Optional locale?: string
                                • Optional mapRoot?: string
                                • Optional maxNodeModuleJsDepth?: number
                                • Optional module?: ModuleKind
                                • Optional moduleDetection?: ModuleDetectionKind
                                • Optional moduleResolution?: ModuleResolutionKind
                                • Optional moduleSuffixes?: ((...) | (...))[]
                                • Optional newLine?: NewLineKind
                                • Optional noEmit?: boolean
                                • Optional noEmitHelpers?: boolean
                                • Optional noEmitOnError?: boolean
                                • Optional noErrorTruncation?: boolean
                                • Optional noFallthroughCasesInSwitch?: boolean
                                • Optional noImplicitAny?: boolean
                                • Optional noImplicitOverride?: boolean
                                • Optional noImplicitReturns?: boolean
                                • Optional noImplicitThis?: boolean
                                • Optional noImplicitUseStrict?: boolean
                                • Optional noLib?: boolean
                                • Optional noPropertyAccessFromIndexSignature?: boolean
                                • Optional noResolve?: boolean
                                • Optional noStrictGenericChecks?: boolean
                                • Optional noUncheckedIndexedAccess?: boolean
                                • Optional noUnusedLocals?: boolean
                                • Optional noUnusedParameters?: boolean
                                • Optional out?: string
                                • Optional outDir?: string
                                • Optional outFile?: string
                                • Optional paths?: {}
                                  • Optional preserveConstEnums?: boolean
                                  • Optional preserveSymlinks?: boolean
                                  • Optional preserveValueImports?: boolean
                                  • Optional project?: string
                                  • Optional reactNamespace?: string
                                  • Optional removeComments?: boolean
                                  • Optional resolveJsonModule?: boolean
                                  • Optional rootDir?: string
                                  • Optional rootDirs?: ((...) | (...))[]
                                  • Optional skipDefaultLibCheck?: boolean
                                  • Optional skipLibCheck?: boolean
                                  • Optional sourceMap?: boolean
                                  • Optional sourceRoot?: string
                                  • Optional strict?: boolean
                                  • Optional strictBindCallApply?: boolean
                                  • Optional strictFunctionTypes?: boolean
                                  • Optional strictNullChecks?: boolean
                                  • Optional strictPropertyInitialization?: boolean
                                  • Optional stripInternal?: boolean
                                  • Optional suppressExcessPropertyErrors?: boolean
                                  • Optional suppressImplicitAnyIndexErrors?: boolean
                                  • Optional target?: ScriptTarget
                                  • Optional traceResolution?: boolean
                                  • Optional tsBuildInfoFile?: string
                                  • Optional typeRoots?: ((...) | (...))[]

                                    Paths used to compute primary types search locations

                                  • Optional types?: ((...) | (...))[]
                                  • Optional useDefineForClassFields?: boolean
                                  • Optional useUnknownInCatchVariables?: boolean
                                • Optional defaultNumberType?: "number" | "integer"
                                • Optional defaultProps?: boolean
                                • Optional esModuleInterop?: boolean
                                • Optional excludePrivate?: boolean
                                • Optional id?: string
                                • Optional ignoreErrors?: boolean
                                • Optional include?: (undefined | string)[]
                                • Optional noExtraProps?: boolean
                                • Optional out?: string
                                • Optional propOrder?: boolean
                                • Optional ref?: boolean
                                • Optional rejectDateType?: boolean
                                • Optional required?: boolean
                                • Optional skipLibCheck?: boolean
                                • Optional strictNullChecks?: boolean
                                • Optional titles?: boolean
                                • Optional topRef?: boolean
                                • Optional tsNodeRegister?: boolean
                                • Optional typeOfKeyword?: boolean
                                • Optional uniqueNames?: boolean
                                • Optional validationKeywords?: (undefined | string)[]
                            • Optional typeMapping?: {
                                  Any?: TypeMappingFunction<ConstrainedAnyModel, RustOptions, RustDependencyManager>;
                                  Array?: TypeMappingFunction<ConstrainedArrayModel, RustOptions, RustDependencyManager>;
                                  Boolean?: TypeMappingFunction<ConstrainedBooleanModel, RustOptions, RustDependencyManager>;
                                  Dictionary?: TypeMappingFunction<ConstrainedDictionaryModel, RustOptions, RustDependencyManager>;
                                  Enum?: TypeMappingFunction<ConstrainedEnumModel, RustOptions, RustDependencyManager>;
                                  Float?: TypeMappingFunction<ConstrainedFloatModel, RustOptions, RustDependencyManager>;
                                  Integer?: TypeMappingFunction<ConstrainedIntegerModel, RustOptions, RustDependencyManager>;
                                  Object?: TypeMappingFunction<ConstrainedObjectModel, RustOptions, RustDependencyManager>;
                                  Reference?: TypeMappingFunction<ConstrainedReferenceModel, RustOptions, RustDependencyManager>;
                                  String?: TypeMappingFunction<ConstrainedStringModel, RustOptions, RustDependencyManager>;
                                  Tuple?: TypeMappingFunction<ConstrainedTupleModel, RustOptions, RustDependencyManager>;
                                  Union?: TypeMappingFunction<ConstrainedUnionModel, RustOptions, RustDependencyManager>;
                              }

                          Returns RustOptions