/**
 * Code generation configuration
 *
 * @since 2.0.0
 * @category blueprint
 */
/**
 * Default code generation configuration
 */
export const DEFAULT_CODEGEN_CONFIG = {
  optionStyle: "NullOr",
  unionStyle: "Variant",
  emptyConstructorStyle: "Literal",
  fieldNaming: {
    singleFieldName: "value",
    multiFieldPattern: "field{index}"
  },
  includeIndex: false,
  moduleStrategy: "flat",
  useRelativeRefs: true,
  imports: {
    data: 'import { Data } from "@evolution-sdk/evolution/Data"',
    tschema: 'import { TSchema } from "@evolution-sdk/evolution/TSchema"',
    schema: 'import { Schema } from "@evolution-sdk/evolution"'
  },
  indent: "  "
};
/**
 * Create a custom codegen configuration by merging with defaults
 */
export function createCodegenConfig(config = {}) {
  return {
    ...DEFAULT_CODEGEN_CONFIG,
    ...config,
    fieldNaming: {
      ...DEFAULT_CODEGEN_CONFIG.fieldNaming,
      ...config.fieldNaming
    },
    imports: {
      ...DEFAULT_CODEGEN_CONFIG.imports,
      ...config.imports
    },
    indent: config.indent ?? DEFAULT_CODEGEN_CONFIG.indent
  };
}
//# sourceMappingURL=CodegenConfig.js.map