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>);
              };
              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) => (...) | (...));
              };
              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?: (...) | (...);
                  };
                  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;
                  };
              };
              interpreter?: {
                  allowInheritance?: boolean;
                  disableCache?: boolean;
                  discriminator?: string;
                  ignoreAdditionalItems?: boolean;
                  ignoreAdditionalProperties?: 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>);
            };
            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 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) => (...) | (...));
            };
            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?: (...) | (...);
                };
                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;
                };
            };
            interpreter?: {
                allowInheritance?: boolean;
                disableCache?: boolean;
                discriminator?: string;
                ignoreAdditionalItems?: boolean;
                ignoreAdditionalProperties?: 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 interpreter?: {
              allowInheritance?: boolean;
              disableCache?: boolean;
              discriminator?: string;
              ignoreAdditionalItems?: boolean;
              ignoreAdditionalProperties?: boolean;
          }

          Deprecated

          Use the jsonSchema options instead of interpreter

          • 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 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>);
                };
                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<(...)>);
                };
                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) => ...);
                    };
                    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;
                    };
                };
                interpreter?: {
                    allowInheritance?: boolean;
                    disableCache?: boolean;
                    discriminator?: string;
                    ignoreAdditionalItems?: boolean;
                    ignoreAdditionalProperties?: 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>);
              };
              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 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<(...)>);
              };
              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) => ...);
                  };
                  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;
                  };
              };
              interpreter?: {
                  allowInheritance?: boolean;
                  disableCache?: boolean;
                  discriminator?: string;
                  ignoreAdditionalItems?: boolean;
                  ignoreAdditionalProperties?: 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 interpreter?: {
                allowInheritance?: boolean;
                disableCache?: boolean;
                discriminator?: string;
                ignoreAdditionalItems?: boolean;
                ignoreAdditionalProperties?: boolean;
            }

            Deprecated

            Use the jsonSchema options instead of interpreter

            • 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 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>);
                  };
                  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) => (...) | (...));
                  };
                  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?: (...) | (...);
                      };
                      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;
                      };
                  };
                  interpreter?: {
                      allowInheritance?: boolean;
                      disableCache?: boolean;
                      discriminator?: string;
                      ignoreAdditionalItems?: boolean;
                      ignoreAdditionalProperties?: 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>);
                };
                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 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) => (...) | (...));
                };
                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?: (...) | (...);
                    };
                    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;
                    };
                };
                interpreter?: {
                    allowInheritance?: boolean;
                    disableCache?: boolean;
                    discriminator?: string;
                    ignoreAdditionalItems?: boolean;
                    ignoreAdditionalProperties?: 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 interpreter?: {
                  allowInheritance?: boolean;
                  disableCache?: boolean;
                  discriminator?: string;
                  ignoreAdditionalItems?: boolean;
                  ignoreAdditionalProperties?: boolean;
              }

              Deprecated

              Use the jsonSchema options instead of interpreter

              • 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 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>);
                    };
                    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) => (...) | (...));
                    };
                    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?: (...) | (...);
                        };
                        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;
                        };
                    };
                    interpreter?: {
                        allowInheritance?: boolean;
                        disableCache?: boolean;
                        discriminator?: string;
                        ignoreAdditionalItems?: boolean;
                        ignoreAdditionalProperties?: 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>);
                  };
                  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 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) => (...) | (...));
                  };
                  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?: (...) | (...);
                      };
                      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;
                      };
                  };
                  interpreter?: {
                      allowInheritance?: boolean;
                      disableCache?: boolean;
                      discriminator?: string;
                      ignoreAdditionalItems?: boolean;
                      ignoreAdditionalProperties?: 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 interpreter?: {
                    allowInheritance?: boolean;
                    disableCache?: boolean;
                    discriminator?: string;
                    ignoreAdditionalItems?: boolean;
                    ignoreAdditionalProperties?: boolean;
                }

                Deprecated

                Use the jsonSchema options instead of interpreter

                • 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 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>);
                      };
                      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) => (...) | (...));
                      };
                      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?: (...) | (...);
                          };
                          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;
                          };
                      };
                      interpreter?: {
                          allowInheritance?: boolean;
                          disableCache?: boolean;
                          discriminator?: string;
                          ignoreAdditionalItems?: boolean;
                          ignoreAdditionalProperties?: 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>);
                    };
                    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 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) => (...) | (...));
                    };
                    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?: (...) | (...);
                        };
                        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;
                        };
                    };
                    interpreter?: {
                        allowInheritance?: boolean;
                        disableCache?: boolean;
                        discriminator?: string;
                        ignoreAdditionalItems?: boolean;
                        ignoreAdditionalProperties?: 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 interpreter?: {
                      allowInheritance?: boolean;
                      disableCache?: boolean;
                      discriminator?: string;
                      ignoreAdditionalItems?: boolean;
                      ignoreAdditionalProperties?: boolean;
                  }

                  Deprecated

                  Use the jsonSchema options instead of interpreter

                  • 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 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>);
                        };
                        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) => (...) | (...));
                        };
                        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?: (...) | (...);
                            };
                            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;
                            };
                        };
                        interpreter?: {
                            allowInheritance?: boolean;
                            disableCache?: boolean;
                            discriminator?: string;
                            ignoreAdditionalItems?: boolean;
                            ignoreAdditionalProperties?: 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>);
                      };
                      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 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) => (...) | (...));
                      };
                      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?: (...) | (...);
                          };
                          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;
                          };
                      };
                      interpreter?: {
                          allowInheritance?: boolean;
                          disableCache?: boolean;
                          discriminator?: string;
                          ignoreAdditionalItems?: boolean;
                          ignoreAdditionalProperties?: 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 interpreter?: {
                        allowInheritance?: boolean;
                        disableCache?: boolean;
                        discriminator?: string;
                        ignoreAdditionalItems?: boolean;
                        ignoreAdditionalProperties?: boolean;
                    }

                    Deprecated

                    Use the jsonSchema options instead of interpreter

                    • 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 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>);
                          };
                          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) => (...) | (...));
                          };
                          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?: (...) | (...);
                              };
                              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;
                              };
                          };
                          interpreter?: {
                              allowInheritance?: boolean;
                              disableCache?: boolean;
                              discriminator?: string;
                              ignoreAdditionalItems?: boolean;
                              ignoreAdditionalProperties?: 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>);
                        };
                        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 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) => (...) | (...));
                        };
                        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?: (...) | (...);
                            };
                            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;
                            };
                        };
                        interpreter?: {
                            allowInheritance?: boolean;
                            disableCache?: boolean;
                            discriminator?: string;
                            ignoreAdditionalItems?: boolean;
                            ignoreAdditionalProperties?: 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 interpreter?: {
                          allowInheritance?: boolean;
                          disableCache?: boolean;
                          discriminator?: string;
                          ignoreAdditionalItems?: boolean;
                          ignoreAdditionalProperties?: boolean;
                      }

                      Deprecated

                      Use the jsonSchema options instead of interpreter

                      • 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 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>);
                            };
                            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) => (...) | (...));
                            };
                            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?: (...) | (...);
                                };
                                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;
                                };
                            };
                            interpreter?: {
                                allowInheritance?: boolean;
                                disableCache?: boolean;
                                discriminator?: string;
                                ignoreAdditionalItems?: boolean;
                                ignoreAdditionalProperties?: 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>);
                          };
                          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 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) => (...) | (...));
                          };
                          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?: (...) | (...);
                              };
                              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;
                              };
                          };
                          interpreter?: {
                              allowInheritance?: boolean;
                              disableCache?: boolean;
                              discriminator?: string;
                              ignoreAdditionalItems?: boolean;
                              ignoreAdditionalProperties?: 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 interpreter?: {
                            allowInheritance?: boolean;
                            disableCache?: boolean;
                            discriminator?: string;
                            ignoreAdditionalItems?: boolean;
                            ignoreAdditionalProperties?: boolean;
                        }

                        Deprecated

                        Use the jsonSchema options instead of interpreter

                        • 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 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>);
                              };
                              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) => (...) | (...));
                              };
                              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?: (...) | (...);
                                  };
                                  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;
                                  };
                              };
                              interpreter?: {
                                  allowInheritance?: boolean;
                                  disableCache?: boolean;
                                  discriminator?: string;
                                  ignoreAdditionalItems?: boolean;
                                  ignoreAdditionalProperties?: 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>);
                            };
                            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 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) => (...) | (...));
                            };
                            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?: (...) | (...);
                                };
                                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;
                                };
                            };
                            interpreter?: {
                                allowInheritance?: boolean;
                                disableCache?: boolean;
                                discriminator?: string;
                                ignoreAdditionalItems?: boolean;
                                ignoreAdditionalProperties?: 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 interpreter?: {
                              allowInheritance?: boolean;
                              disableCache?: boolean;
                              discriminator?: string;
                              ignoreAdditionalItems?: boolean;
                              ignoreAdditionalProperties?: boolean;
                          }

                          Deprecated

                          Use the jsonSchema options instead of interpreter

                          • 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 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>);
                                };
                                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) => (...) | (...));
                                };
                                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?: (...) | (...);
                                    };
                                    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;
                                    };
                                };
                                interpreter?: {
                                    allowInheritance?: boolean;
                                    disableCache?: boolean;
                                    discriminator?: string;
                                    ignoreAdditionalItems?: boolean;
                                    ignoreAdditionalProperties?: 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>);
                              };
                              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 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) => (...) | (...));
                              };
                              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?: (...) | (...);
                                  };
                                  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;
                                  };
                              };
                              interpreter?: {
                                  allowInheritance?: boolean;
                                  disableCache?: boolean;
                                  discriminator?: string;
                                  ignoreAdditionalItems?: boolean;
                                  ignoreAdditionalProperties?: 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 interpreter?: {
                                allowInheritance?: boolean;
                                disableCache?: boolean;
                                discriminator?: string;
                                ignoreAdditionalItems?: boolean;
                                ignoreAdditionalProperties?: boolean;
                            }

                            Deprecated

                            Use the jsonSchema options instead of interpreter

                            • 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 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