@hey-api/openapi-ts 0.96.0 → 0.96.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { n as UserConfig } from "./types-DAEl4_a4.mjs";
2
- import { AnalysisContext, BindingKind, ExportModule, File, FromRef, ImportModule, Language, Logger, Node, NodeName, NodeNameSanitizer, NodeRelationship, NodeScope, Ref, RenderContext, Renderer, Symbol } from "@hey-api/codegen-core";
2
+ import { AnalysisContext, BindingKind, ExportModule, File, FromRef, ImportModule, Language, Logger, Logger as Logger$1, Node, NodeName, NodeNameSanitizer, NodeRelationship, NodeScope, Ref, RenderContext, Renderer, Symbol } from "@hey-api/codegen-core";
3
3
  import { BaseOutput, Casing, Context, DefinePlugin, DefinePlugin as DefinePlugin$1, FeatureToggle, IR, IR as IR$1, NameTransformer, NamingConfig, NamingOptions, NamingRule, OpenApi, OpenApiMetaObject, OpenApiOperationObject, OpenApiParameterObject, OpenApiRequestBodyObject, OpenApiResponseObject, OpenApiSchemaObject, OperationPath, OperationPathStrategy, OperationStrategy, OperationsStrategy, Plugin, Plugin as Plugin$1, RequestSchemaContext, ResolvedRequestValidatorLayer, SchemaVisitorContext, SchemaWithType, Walker, defaultPaginationKeywords, definePluginConfig, utils } from "@hey-api/shared";
4
4
  import ts from "typescript";
5
5
  import { AnyString, LazyOrAsync, MaybeArray, MaybeFunc } from "@hey-api/types";
@@ -629,7 +629,7 @@ declare class DocTsDsl extends TsDsl<ts.Node> {
629
629
  analyze(ctx: AnalysisContext): void;
630
630
  add(lines: DocLines): this;
631
631
  apply<T extends ts.Node>(node: T): T;
632
- toAst(): any;
632
+ toAst(): ts.Identifier;
633
633
  }
634
634
  //#endregion
635
635
  //#region src/ts-dsl/mixins/doc.d.ts
@@ -1156,7 +1156,7 @@ declare abstract class TsDsl<T extends ts.Node = ts.Node> implements Node<T> {
1156
1156
  structuralParents?: Map<TsDsl, NodeRelationship>;
1157
1157
  symbol?: Symbol;
1158
1158
  toAst(): T;
1159
- readonly '~brand': any;
1159
+ readonly '~brand' = "heyapi.node";
1160
1160
  /** Branding property to identify the DSL class at runtime. */
1161
1161
  abstract readonly '~dsl': AnyString;
1162
1162
  /** Conditionally applies a callback to this builder. */
@@ -1225,7 +1225,27 @@ declare class HintTsDsl extends TsDsl<ts.Node> {
1225
1225
  analyze(ctx: AnalysisContext): void;
1226
1226
  add(lines: HintLines): this;
1227
1227
  apply<T extends ts.Node>(node: T): T;
1228
- toAst(): any;
1228
+ toAst(): ts.Identifier;
1229
+ }
1230
+ //#endregion
1231
+ //#region src/ts-dsl/stmt/if.d.ts
1232
+ type IfCondition = NodeName | MaybeTsDsl<ts.Expression>;
1233
+ declare const Mixed$37: MixinCtor<abstract new () => TsDsl<ts.IfStatement>, DoMethods>;
1234
+ declare class IfTsDsl extends Mixed$37 {
1235
+ readonly '~dsl' = "IfTsDsl";
1236
+ protected _condition?: IfCondition;
1237
+ protected _else?: Array<DoExpr>;
1238
+ constructor(condition?: IfCondition);
1239
+ analyze(ctx: AnalysisContext): void;
1240
+ /** Returns true when all required builder calls are present. */
1241
+ get isValid(): boolean;
1242
+ condition(condition: IfCondition): this;
1243
+ otherwise(...items: Array<DoExpr>): this;
1244
+ toAst(): ts.IfStatement;
1245
+ $validate(): asserts this is this & {
1246
+ _condition: IfCondition;
1247
+ };
1248
+ private missingRequiredCalls;
1229
1249
  }
1230
1250
  //#endregion
1231
1251
  //#region src/ts-dsl/utils/lazy.d.ts
@@ -1310,8 +1330,8 @@ declare function createLiteral(value: TsLiteralValue, leadingComments?: Readonly
1310
1330
  //#region src/ts-dsl/expr/prefix.d.ts
1311
1331
  type PrefixExpr = string | MaybeTsDsl<ts.Expression>;
1312
1332
  type PrefixOp = ts.PrefixUnaryOperator;
1313
- declare const Mixed$37: abstract new () => TsDsl<ts.PrefixUnaryExpression>;
1314
- declare class PrefixTsDsl extends Mixed$37 {
1333
+ declare const Mixed$36: abstract new () => TsDsl<ts.PrefixUnaryExpression>;
1334
+ declare class PrefixTsDsl extends Mixed$36 {
1315
1335
  readonly '~dsl' = "PrefixTsDsl";
1316
1336
  protected _expr?: PrefixExpr;
1317
1337
  protected _op?: PrefixOp;
@@ -1346,13 +1366,25 @@ declare class NoteTsDsl extends TsDsl<ts.Node> {
1346
1366
  analyze(ctx: AnalysisContext): void;
1347
1367
  add(lines: NoteLines): this;
1348
1368
  apply<T extends ts.Node>(node: T): T;
1349
- toAst(): any;
1369
+ toAst(): ts.Identifier;
1370
+ }
1371
+ //#endregion
1372
+ //#region src/ts-dsl/expr/template.d.ts
1373
+ type TemplatePart = NodeName | MaybeTsDsl<ts.Expression>;
1374
+ declare const Mixed$35: abstract new () => TsDsl<ts.TemplateExpression | ts.NoSubstitutionTemplateLiteral>;
1375
+ declare class TemplateTsDsl extends Mixed$35 {
1376
+ readonly '~dsl' = "TemplateTsDsl";
1377
+ protected parts: Array<Ref<TemplatePart>>;
1378
+ constructor(value?: TemplatePart);
1379
+ analyze(ctx: AnalysisContext): void;
1380
+ add(value: TemplatePart): this;
1381
+ toAst(): ts.TemplateExpression | ts.NoSubstitutionTemplateLiteral;
1350
1382
  }
1351
1383
  //#endregion
1352
1384
  //#region src/ts-dsl/decl/field.d.ts
1353
1385
  type FieldType = NodeName | TypeTsDsl;
1354
- declare const Mixed$36: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.PropertyDeclaration>, ValueMethods>, StaticMethods>, ReadonlyMethods>, PublicMethods>, ProtectedMethods>, PrivateMethods>, OptionalMethods>, DocMethods>, DecoratorMethods>;
1355
- declare class FieldTsDsl extends Mixed$36 {
1386
+ declare const Mixed$34: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.PropertyDeclaration>, ValueMethods>, StaticMethods>, ReadonlyMethods>, PublicMethods>, ProtectedMethods>, PrivateMethods>, OptionalMethods>, DocMethods>, DecoratorMethods>;
1387
+ declare class FieldTsDsl extends Mixed$34 {
1356
1388
  readonly '~dsl' = "FieldTsDsl";
1357
1389
  readonly nameSanitizer: (name: string) => string;
1358
1390
  protected _type?: TypeTsDsl;
@@ -1364,8 +1396,8 @@ declare class FieldTsDsl extends Mixed$36 {
1364
1396
  }
1365
1397
  //#endregion
1366
1398
  //#region src/ts-dsl/decl/init.d.ts
1367
- declare const Mixed$35: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ConstructorDeclaration>, PublicMethods>, ProtectedMethods>, PrivateMethods>, ParamMethods>, DocMethods>, DoMethods>, DecoratorMethods>;
1368
- declare class InitTsDsl extends Mixed$35 {
1399
+ declare const Mixed$33: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ConstructorDeclaration>, PublicMethods>, ProtectedMethods>, PrivateMethods>, ParamMethods>, DocMethods>, DoMethods>, DecoratorMethods>;
1400
+ declare class InitTsDsl extends Mixed$33 {
1369
1401
  readonly '~dsl' = "InitTsDsl";
1370
1402
  constructor(fn?: (i: InitTsDsl) => void);
1371
1403
  analyze(ctx: AnalysisContext): void;
@@ -1374,8 +1406,8 @@ declare class InitTsDsl extends Mixed$35 {
1374
1406
  //#endregion
1375
1407
  //#region src/ts-dsl/decl/class.d.ts
1376
1408
  type Body = Array<MaybeTsDsl<ts.ClassElement | ts.Node>>;
1377
- declare const Mixed$34: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ClassDeclaration>, TypeParamsMethods>, ExportMethods>, DocMethods>, DefaultMethods>, DecoratorMethods>, AbstractMethods>;
1378
- declare class ClassTsDsl extends Mixed$34 {
1409
+ declare const Mixed$32: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ClassDeclaration>, TypeParamsMethods>, ExportMethods>, DocMethods>, DefaultMethods>, DecoratorMethods>, AbstractMethods>;
1410
+ declare class ClassTsDsl extends Mixed$32 {
1379
1411
  readonly '~dsl' = "ClassTsDsl";
1380
1412
  readonly nameSanitizer: (name: string) => string;
1381
1413
  protected baseClass?: Ref<NodeName>;
@@ -1402,8 +1434,8 @@ declare class ClassTsDsl extends Mixed$34 {
1402
1434
  }
1403
1435
  //#endregion
1404
1436
  //#region src/ts-dsl/decl/decorator.d.ts
1405
- declare const Mixed$33: MixinCtor<abstract new () => TsDsl<ts.Decorator>, ArgsMethods>;
1406
- declare class DecoratorTsDsl extends Mixed$33 {
1437
+ declare const Mixed$31: MixinCtor<abstract new () => TsDsl<ts.Decorator>, ArgsMethods>;
1438
+ declare class DecoratorTsDsl extends Mixed$31 {
1407
1439
  readonly '~dsl' = "DecoratorTsDsl";
1408
1440
  readonly nameSanitizer: (name: string) => string;
1409
1441
  constructor(name: NodeName, ...args: ReadonlyArray<string | MaybeTsDsl<ts.Expression>>);
@@ -1414,8 +1446,8 @@ declare class DecoratorTsDsl extends Mixed$33 {
1414
1446
  //#region src/ts-dsl/decl/member.d.ts
1415
1447
  type Value$2 = string | number | MaybeTsDsl<ts.Expression>;
1416
1448
  type ValueFn$1 = Value$2 | ((m: EnumMemberTsDsl) => void);
1417
- declare const Mixed$32: MixinCtor<abstract new () => TsDsl<ts.EnumMember>, DocMethods>;
1418
- declare class EnumMemberTsDsl extends Mixed$32 {
1449
+ declare const Mixed$30: MixinCtor<abstract new () => TsDsl<ts.EnumMember>, DocMethods>;
1450
+ declare class EnumMemberTsDsl extends Mixed$30 {
1419
1451
  readonly '~dsl' = "EnumMemberTsDsl";
1420
1452
  private _value?;
1421
1453
  constructor(name: NodeName, value?: ValueFn$1);
@@ -1428,8 +1460,8 @@ declare class EnumMemberTsDsl extends Mixed$32 {
1428
1460
  //#region src/ts-dsl/decl/enum.d.ts
1429
1461
  type Value$1 = string | number | MaybeTsDsl<ts.Expression>;
1430
1462
  type ValueFn = Value$1 | ((m: EnumMemberTsDsl) => void);
1431
- declare const Mixed$31: MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.EnumDeclaration>, ExportMethods>, DocMethods>, ConstMethods>;
1432
- declare class EnumTsDsl extends Mixed$31 {
1463
+ declare const Mixed$29: MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.EnumDeclaration>, ExportMethods>, DocMethods>, ConstMethods>;
1464
+ declare class EnumTsDsl extends Mixed$29 {
1433
1465
  readonly '~dsl' = "EnumTsDsl";
1434
1466
  readonly nameSanitizer: (name: string) => string;
1435
1467
  private _members;
@@ -1444,8 +1476,8 @@ declare class EnumTsDsl extends Mixed$31 {
1444
1476
  //#endregion
1445
1477
  //#region src/ts-dsl/decl/func.d.ts
1446
1478
  type FuncMode = 'arrow' | 'decl' | 'expr';
1447
- declare const Mixed$30: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ArrowFunction>, TypeReturnsMethods>, TypeParamsMethods>, StaticMethods>, PublicMethods>, ProtectedMethods>, PrivateMethods>, ParamMethods>, ExportMethods>, DocMethods>, DoMethods>, DecoratorMethods>, AsyncMethods>, AsMethods>, AbstractMethods>;
1448
- declare class ImplFuncTsDsl<M extends FuncMode = 'arrow'> extends Mixed$30 {
1479
+ declare const Mixed$28: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ArrowFunction>, TypeReturnsMethods>, TypeParamsMethods>, StaticMethods>, PublicMethods>, ProtectedMethods>, PrivateMethods>, ParamMethods>, ExportMethods>, DocMethods>, DoMethods>, DecoratorMethods>, AsyncMethods>, AsMethods>, AbstractMethods>;
1480
+ declare class ImplFuncTsDsl<M extends FuncMode = 'arrow'> extends Mixed$28 {
1449
1481
  readonly '~dsl' = "FuncTsDsl";
1450
1482
  readonly nameSanitizer: (name: string) => string;
1451
1483
  protected mode?: FuncMode;
@@ -1475,8 +1507,8 @@ declare const FuncTsDsl: {
1475
1507
  type FuncTsDsl<M extends FuncMode = 'arrow'> = ImplFuncTsDsl<M>;
1476
1508
  //#endregion
1477
1509
  //#region src/ts-dsl/decl/getter.d.ts
1478
- declare const Mixed$29: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.GetAccessorDeclaration>, TypeReturnsMethods>, StaticMethods>, PublicMethods>, ProtectedMethods>, PrivateMethods>, ParamMethods>, DocMethods>, DoMethods>, DecoratorMethods>, AsyncMethods>, AbstractMethods>;
1479
- declare class GetterTsDsl extends Mixed$29 {
1510
+ declare const Mixed$27: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.GetAccessorDeclaration>, TypeReturnsMethods>, StaticMethods>, PublicMethods>, ProtectedMethods>, PrivateMethods>, ParamMethods>, DocMethods>, DoMethods>, DecoratorMethods>, AsyncMethods>, AbstractMethods>;
1511
+ declare class GetterTsDsl extends Mixed$27 {
1480
1512
  readonly '~dsl' = "GetterTsDsl";
1481
1513
  readonly nameSanitizer: (name: string) => string;
1482
1514
  constructor(name: NodeName, fn?: (g: GetterTsDsl) => void);
@@ -1485,11 +1517,11 @@ declare class GetterTsDsl extends Mixed$29 {
1485
1517
  }
1486
1518
  //#endregion
1487
1519
  //#region src/ts-dsl/decl/pattern.d.ts
1488
- declare const Mixed$28: abstract new () => TsDsl<ts.BindingName>;
1520
+ declare const Mixed$26: abstract new () => TsDsl<ts.BindingName>;
1489
1521
  /**
1490
1522
  * Builds binding patterns (e.g., `{ foo, bar }`, `[a, b, ...rest]`).
1491
1523
  */
1492
- declare class PatternTsDsl extends Mixed$28 {
1524
+ declare class PatternTsDsl extends Mixed$26 {
1493
1525
  readonly '~dsl' = "PatternTsDsl";
1494
1526
  protected pattern?: {
1495
1527
  kind: 'array';
@@ -1523,8 +1555,8 @@ declare class PatternTsDsl extends Mixed$28 {
1523
1555
  }
1524
1556
  //#endregion
1525
1557
  //#region src/ts-dsl/decl/setter.d.ts
1526
- declare const Mixed$27: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.SetAccessorDeclaration>, StaticMethods>, PublicMethods>, ProtectedMethods>, PrivateMethods>, ParamMethods>, DocMethods>, DoMethods>, DecoratorMethods>, AsyncMethods>, AbstractMethods>;
1527
- declare class SetterTsDsl extends Mixed$27 {
1558
+ declare const Mixed$25: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.SetAccessorDeclaration>, StaticMethods>, PublicMethods>, ProtectedMethods>, PrivateMethods>, ParamMethods>, DocMethods>, DoMethods>, DecoratorMethods>, AsyncMethods>, AbstractMethods>;
1559
+ declare class SetterTsDsl extends Mixed$25 {
1528
1560
  readonly '~dsl' = "SetterTsDsl";
1529
1561
  readonly nameSanitizer: (name: string) => string;
1530
1562
  constructor(name: NodeName, fn?: (s: SetterTsDsl) => void);
@@ -1546,8 +1578,8 @@ interface LayoutMethods extends Node {
1546
1578
  //#endregion
1547
1579
  //#region src/ts-dsl/expr/array.d.ts
1548
1580
  type ArrayExpr = string | number | boolean | MaybeTsDsl<ts.Expression>;
1549
- declare const Mixed$26: MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ArrayLiteralExpression>, SpreadMethods>, LayoutMethods>, ExprMethods>, AsMethods>;
1550
- declare class ArrayTsDsl extends Mixed$26 {
1581
+ declare const Mixed$24: MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ArrayLiteralExpression>, SpreadMethods>, LayoutMethods>, ExprMethods>, AsMethods>;
1582
+ declare class ArrayTsDsl extends Mixed$24 {
1551
1583
  readonly '~dsl' = "ArrayTsDsl";
1552
1584
  protected _elements: Array<MaybeTsDsl<ts.Expression>>;
1553
1585
  constructor(...exprs: Array<ArrayExpr>);
@@ -1561,18 +1593,18 @@ declare class ArrayTsDsl extends Mixed$26 {
1561
1593
  //#endregion
1562
1594
  //#region src/ts-dsl/expr/expr.d.ts
1563
1595
  type Id = NodeName | MaybeTsDsl<ts.Expression>;
1564
- declare const Mixed$25: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.Expression>, TypeExprMethods>, SpreadMethods>, OperatorMethods>, ExprMethods>, AsMethods>;
1565
- declare class ExprTsDsl extends Mixed$25 {
1596
+ declare const Mixed$23: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.Expression>, TypeExprMethods>, SpreadMethods>, OperatorMethods>, ExprMethods>, AsMethods>;
1597
+ declare class ExprTsDsl extends Mixed$23 {
1566
1598
  readonly '~dsl' = "ExprTsDsl";
1567
1599
  protected _exprInput: Ref<Id>;
1568
1600
  constructor(id: Id);
1569
1601
  analyze(ctx: AnalysisContext): void;
1570
- toAst(): any;
1602
+ toAst(): ts.Expression;
1571
1603
  }
1572
1604
  //#endregion
1573
1605
  //#region src/ts-dsl/expr/id.d.ts
1574
- declare const Mixed$24: abstract new () => TsDsl<ts.Identifier>;
1575
- declare class IdTsDsl extends Mixed$24 {
1606
+ declare const Mixed$22: abstract new () => TsDsl<ts.Identifier>;
1607
+ declare class IdTsDsl extends Mixed$22 {
1576
1608
  readonly '~dsl' = "IdTsDsl";
1577
1609
  constructor(name: string);
1578
1610
  analyze(ctx: AnalysisContext): void;
@@ -1629,13 +1661,13 @@ declare const ts$1: {
1629
1661
  };
1630
1662
  //#endregion
1631
1663
  //#region src/ts-dsl/expr/literal.d.ts
1632
- declare const Mixed$23: MixinCtor<abstract new () => TsDsl<ts.BigIntLiteral | ts.BooleanLiteral | ts.NullLiteral | ts.NumericLiteral | ts.PrefixUnaryExpression | ts.StringLiteral>, AsMethods>;
1633
- declare class LiteralTsDsl extends Mixed$23 {
1664
+ declare const Mixed$21: MixinCtor<abstract new () => TsDsl<ts.BigIntLiteral | ts.BooleanLiteral | ts.NullLiteral | ts.NumericLiteral | ts.PrefixUnaryExpression | ts.StringLiteral>, AsMethods>;
1665
+ declare class LiteralTsDsl extends Mixed$21 {
1634
1666
  readonly '~dsl' = "LiteralTsDsl";
1635
1667
  protected value: ts$1.LiteralValue;
1636
1668
  constructor(value: ts$1.LiteralValue);
1637
1669
  analyze(ctx: AnalysisContext): void;
1638
- toAst(): any;
1670
+ toAst(): ts.BigIntLiteral | ts.TrueLiteral | ts.FalseLiteral | ts.NullLiteral | ts.NumericLiteral | ts.PrefixUnaryExpression | ts.StringLiteral;
1639
1671
  }
1640
1672
  //#endregion
1641
1673
  //#region src/ts-dsl/mixins/hint.d.ts
@@ -1666,8 +1698,8 @@ type Meta = {
1666
1698
  kind: 'spread';
1667
1699
  name?: undefined;
1668
1700
  };
1669
- declare const Mixed$22: MixinCtor<abstract new () => TsDsl<ts.ObjectLiteralElementLike>, DocMethods>;
1670
- declare class ObjectPropTsDsl extends Mixed$22 {
1701
+ declare const Mixed$20: MixinCtor<abstract new () => TsDsl<ts.ObjectLiteralElementLike>, DocMethods>;
1702
+ declare class ObjectPropTsDsl extends Mixed$20 {
1671
1703
  readonly '~dsl' = "ObjectPropTsDsl";
1672
1704
  protected _value?: Ref<ObjectPropValue>;
1673
1705
  protected _meta: Meta;
@@ -1677,7 +1709,7 @@ declare class ObjectPropTsDsl extends Mixed$22 {
1677
1709
  get kind(): ObjectPropKind;
1678
1710
  get propName(): string | undefined;
1679
1711
  value(value: ObjectPropValue): this;
1680
- toAst(): any;
1712
+ toAst(): ts.MethodDeclaration | ts.GetAccessorDeclaration | ts.SetAccessorDeclaration | ts.PropertyAssignment | ts.ShorthandPropertyAssignment | ts.SpreadAssignment;
1681
1713
  $validate(): asserts this is this & {
1682
1714
  _value: ObjectPropValue;
1683
1715
  kind: ObjectPropKind;
@@ -1688,8 +1720,8 @@ declare class ObjectPropTsDsl extends Mixed$22 {
1688
1720
  //#region src/ts-dsl/expr/object.d.ts
1689
1721
  type Expr = NodeName | MaybeTsDsl<ts.Expression>;
1690
1722
  type Stmt = NodeName | MaybeTsDsl<ts.Statement>;
1691
- declare const Mixed$21: MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ObjectLiteralExpression>, LayoutMethods>, HintMethods>, ExprMethods>, AsMethods>;
1692
- declare class ObjectTsDsl extends Mixed$21 {
1723
+ declare const Mixed$19: MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ObjectLiteralExpression>, LayoutMethods>, HintMethods>, ExprMethods>, AsMethods>;
1724
+ declare class ObjectTsDsl extends Mixed$19 {
1693
1725
  readonly '~dsl' = "ObjectTsDsl";
1694
1726
  protected _props: Map<string, ObjectPropTsDsl>;
1695
1727
  protected _spreadCounter: number;
@@ -1721,8 +1753,8 @@ declare class ObjectTsDsl extends Mixed$21 {
1721
1753
  //#region src/ts-dsl/expr/regexp.d.ts
1722
1754
  type RegexFlag = 'g' | 'i' | 'm' | 's' | 'u' | 'y';
1723
1755
  type RegexFlags<Avail extends string = RegexFlag> = '' | { [K in Avail]: `${K}${RegexFlags<Exclude<Avail, K>>}` }[Avail];
1724
- declare const Mixed$20: abstract new () => TsDsl<ts.RegularExpressionLiteral>;
1725
- declare class RegExpTsDsl extends Mixed$20 {
1756
+ declare const Mixed$18: abstract new () => TsDsl<ts.RegularExpressionLiteral>;
1757
+ declare class RegExpTsDsl extends Mixed$18 {
1726
1758
  readonly '~dsl' = "RegExpTsDsl";
1727
1759
  protected pattern: string;
1728
1760
  protected flags?: RegexFlags;
@@ -1731,21 +1763,9 @@ declare class RegExpTsDsl extends Mixed$20 {
1731
1763
  toAst(): ts.RegularExpressionLiteral;
1732
1764
  }
1733
1765
  //#endregion
1734
- //#region src/ts-dsl/expr/template.d.ts
1735
- type TemplatePart = NodeName | MaybeTsDsl<ts.Expression>;
1736
- declare const Mixed$19: abstract new () => TsDsl<ts.TemplateExpression | ts.NoSubstitutionTemplateLiteral>;
1737
- declare class TemplateTsDsl extends Mixed$19 {
1738
- readonly '~dsl' = "TemplateTsDsl";
1739
- protected parts: Array<Ref<TemplatePart>>;
1740
- constructor(value?: TemplatePart);
1741
- analyze(ctx: AnalysisContext): void;
1742
- add(value: TemplatePart): this;
1743
- toAst(): ts.TemplateExpression | ts.NoSubstitutionTemplateLiteral;
1744
- }
1745
- //#endregion
1746
1766
  //#region src/ts-dsl/expr/ternary.d.ts
1747
- declare const Mixed$18: abstract new () => TsDsl<ts.ConditionalExpression>;
1748
- declare class TernaryTsDsl extends Mixed$18 {
1767
+ declare const Mixed$17: abstract new () => TsDsl<ts.ConditionalExpression>;
1768
+ declare class TernaryTsDsl extends Mixed$17 {
1749
1769
  readonly '~dsl' = "TernaryTsDsl";
1750
1770
  protected _condition?: string | MaybeTsDsl<ts.Expression>;
1751
1771
  protected _then?: string | MaybeTsDsl<ts.Expression>;
@@ -1770,12 +1790,12 @@ declare class TernaryTsDsl extends Mixed$18 {
1770
1790
  declare class NewlineTsDsl extends TsDsl<ts.Identifier> {
1771
1791
  readonly '~dsl' = "NewlineTsDsl";
1772
1792
  analyze(ctx: AnalysisContext): void;
1773
- toAst(): any;
1793
+ toAst(): ts.Identifier;
1774
1794
  }
1775
1795
  //#endregion
1776
1796
  //#region src/ts-dsl/stmt/block.d.ts
1777
- declare const Mixed$17: MixinCtor<MixinCtor<abstract new () => TsDsl<ts.Block>, LayoutMethods>, DoMethods>;
1778
- declare class BlockTsDsl extends Mixed$17 {
1797
+ declare const Mixed$16: MixinCtor<MixinCtor<abstract new () => TsDsl<ts.Block>, LayoutMethods>, DoMethods>;
1798
+ declare class BlockTsDsl extends Mixed$16 {
1779
1799
  readonly '~dsl' = "BlockTsDsl";
1780
1800
  constructor(...items: Array<DoExpr>);
1781
1801
  analyze(ctx: AnalysisContext): void;
@@ -1783,8 +1803,8 @@ declare class BlockTsDsl extends Mixed$17 {
1783
1803
  }
1784
1804
  //#endregion
1785
1805
  //#region src/ts-dsl/stmt/var.d.ts
1786
- declare const Mixed$16: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.VariableStatement>, ValueMethods>, PatternMethods>, HintMethods>, ExportMethods>, DocMethods>, DefaultMethods>;
1787
- declare class VarTsDsl extends Mixed$16 {
1806
+ declare const Mixed$15: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.VariableStatement>, ValueMethods>, PatternMethods>, HintMethods>, ExportMethods>, DocMethods>, DefaultMethods>;
1807
+ declare class VarTsDsl extends Mixed$15 {
1788
1808
  readonly '~dsl' = "VarTsDsl";
1789
1809
  readonly nameSanitizer: (name: string) => string;
1790
1810
  protected kind: ts.NodeFlags;
@@ -1807,8 +1827,8 @@ declare class VarTsDsl extends Mixed$16 {
1807
1827
  type ForMode = 'for' | 'in' | 'of';
1808
1828
  type ForCondition = MaybeTsDsl<ts.Expression>;
1809
1829
  type ForIterable = MaybeTsDsl<ts.Expression>;
1810
- declare const Mixed$15: MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ForStatement>, LayoutMethods>, DoMethods>;
1811
- declare class ImplForTsDsl<M extends ForMode = 'for'> extends Mixed$15 {
1830
+ declare const Mixed$14: MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ForStatement>, LayoutMethods>, DoMethods>;
1831
+ declare class ImplForTsDsl<M extends ForMode = 'for'> extends Mixed$14 {
1812
1832
  readonly '~dsl' = "ForTsDsl";
1813
1833
  protected _await?: boolean;
1814
1834
  protected _condition?: ForCondition;
@@ -1849,26 +1869,6 @@ declare const ForTsDsl: {
1849
1869
  } & typeof ImplForTsDsl;
1850
1870
  type ForTsDsl<M extends ForMode = 'for'> = ImplForTsDsl<M>;
1851
1871
  //#endregion
1852
- //#region src/ts-dsl/stmt/if.d.ts
1853
- type IfCondition = NodeName | MaybeTsDsl<ts.Expression>;
1854
- declare const Mixed$14: MixinCtor<abstract new () => TsDsl<ts.IfStatement>, DoMethods>;
1855
- declare class IfTsDsl extends Mixed$14 {
1856
- readonly '~dsl' = "IfTsDsl";
1857
- protected _condition?: IfCondition;
1858
- protected _else?: Array<DoExpr>;
1859
- constructor(condition?: IfCondition);
1860
- analyze(ctx: AnalysisContext): void;
1861
- /** Returns true when all required builder calls are present. */
1862
- get isValid(): boolean;
1863
- condition(condition: IfCondition): this;
1864
- otherwise(...items: Array<DoExpr>): this;
1865
- toAst(): ts.IfStatement;
1866
- $validate(): asserts this is this & {
1867
- _condition: IfCondition;
1868
- };
1869
- private missingRequiredCalls;
1870
- }
1871
- //#endregion
1872
1872
  //#region src/ts-dsl/stmt/stmt.d.ts
1873
1873
  declare const Mixed$13: abstract new () => TsDsl<ts.Statement>;
1874
1874
  declare class StmtTsDsl extends Mixed$13 {
@@ -2267,21 +2267,21 @@ declare const reserved: {
2267
2267
  };
2268
2268
  //#endregion
2269
2269
  //#region src/ts-dsl/index.d.ts
2270
- declare const $: ((id: any) => ExprTsDsl) & {
2270
+ declare const $: ((id: ts.Expression | TsDsl<ts.Expression> | NodeName) => ExprTsDsl) & {
2271
2271
  /** Creates an array literal expression (e.g., `[1, 2, 3]`). */array: (...args: ConstructorParameters<typeof ArrayTsDsl>) => ArrayTsDsl; /** Creates an `as` type assertion expression (e.g., `value as Type`). */
2272
- as: (expr: any, type: any) => AsTsDsl; /** Creates a property access expression (e.g., `obj.foo`). */
2273
- attr: (left: any, right: NodeName) => AttrTsDsl; /** Creates an await expression (e.g., `await promise`). */
2274
- await: (expr: any) => AwaitTsDsl; /** Creates a binary expression (e.g., `a + b`). */
2275
- binary: (base: any, op?: (("!=" | "!==" | "&&" | "*" | "+" | "-" | "/" | "<" | "<=" | "=" | "==" | "===" | ">" | ">=" | "??" | "??=" | "||") | ts.BinaryOperator) | undefined, expr?: any) => BinaryTsDsl; /** Creates a statement block (`{ ... }`). */
2272
+ as: (expr: AsExpr, type: AsType) => AsTsDsl; /** Creates a property access expression (e.g., `obj.foo`). */
2273
+ attr: (left: AttrLeft, right: NodeName) => AttrTsDsl; /** Creates an await expression (e.g., `await promise`). */
2274
+ await: (expr: AwaitExpr) => AwaitTsDsl; /** Creates a binary expression (e.g., `a + b`). */
2275
+ binary: (base: ts.Expression | TsDsl<ts.Expression> | NodeName, op?: (("!=" | "!==" | "&&" | "*" | "+" | "-" | "/" | "<" | "<=" | "=" | "==" | "===" | ">" | ">=" | "??" | "??=" | "||") | ts.BinaryOperator) | undefined, expr?: (ts.Expression | TsDsl<ts.Expression> | NodeName) | undefined) => BinaryTsDsl; /** Creates a statement block (`{ ... }`). */
2276
2276
  block: (...args: ConstructorParameters<typeof BlockTsDsl>) => BlockTsDsl; /** Creates a function or method call expression (e.g., `fn(arg)`). */
2277
- call: (callee: any, ...args: any[]) => CallTsDsl; /** Creates a class declaration or expression. */
2277
+ call: (callee: CallCallee, ...args: (CallCallee | undefined)[]) => CallTsDsl; /** Creates a class declaration or expression. */
2278
2278
  class: (name: NodeName) => ClassTsDsl; /** Creates a constant variable declaration (`const`). */
2279
- const: (name?: any) => VarTsDsl; /** Creates a postfix decrement expression (`i--`). */
2279
+ const: (name?: NodeName | undefined) => VarTsDsl; /** Creates a postfix decrement expression (`i--`). */
2280
2280
  dec: (expr?: PostfixExpr | undefined, op?: ts.PostfixUnaryOperator | undefined) => PostfixTsDsl; /** Creates a decorator expression (e.g., `@decorator`). */
2281
2281
  decorator: (name: NodeName, ...args: (string | ts.Expression | TsDsl<ts.Expression>)[]) => DecoratorTsDsl; /** Creates a JSDoc documentation block. */
2282
2282
  doc: (lines?: DocLines | undefined, fn?: DocFn | undefined) => DocTsDsl; /** Creates an enum declaration. */
2283
2283
  enum: (name: NodeName, fn?: ((e: EnumTsDsl) => void) | undefined) => EnumTsDsl; /** Creates a general expression node. */
2284
- expr: (id: any) => ExprTsDsl; /** Creates a field declaration in a class or object. */
2284
+ expr: (id: ts.Expression | TsDsl<ts.Expression> | NodeName) => ExprTsDsl; /** Creates a field declaration in a class or object. */
2285
2285
  field: (name: NodeName, fn?: ((f: FieldTsDsl) => void) | undefined) => FieldTsDsl; /** Creates a for loop (for, for...of, for...in, or for await...of). */
2286
2286
  for: {
2287
2287
  (variableOrInit?: VarTsDsl): ForTsDsl<ForMode>;
@@ -2301,21 +2301,21 @@ declare const $: ((id: any) => ExprTsDsl) & {
2301
2301
  getter: (name: NodeName, fn?: ((g: GetterTsDsl) => void) | undefined) => GetterTsDsl; /** Creates a single-line comment (//). */
2302
2302
  hint: (lines?: HintLines | undefined, fn?: HintFn | undefined) => HintTsDsl; /** Creates an identifier (e.g., `foo`). */
2303
2303
  id: (name: string) => IdTsDsl; /** Creates an if statement. */
2304
- if: (condition?: any) => IfTsDsl; /** Creates a postfix increment expression (`i++`). */
2304
+ if: (condition?: IfCondition | undefined) => IfTsDsl; /** Creates a postfix increment expression (`i++`). */
2305
2305
  inc: (expr?: PostfixExpr | undefined, op?: ts.PostfixUnaryOperator | undefined) => PostfixTsDsl; /** Creates an initialization block or statement. */
2306
2306
  init: (fn?: ((i: InitTsDsl) => void) | undefined) => InitTsDsl; /** Creates a lazy, context-aware node with deferred evaluation. */
2307
2307
  lazy: <T extends ts.Node>(thunk: LazyThunk<T>) => LazyTsDsl<T>; /** Creates a let variable declaration (`let`). */
2308
- let: (name?: any) => VarTsDsl; /** Creates a literal value (e.g., string, number, boolean). */
2308
+ let: (name?: NodeName | undefined) => VarTsDsl; /** Creates a literal value (e.g., string, number, boolean). */
2309
2309
  literal: (value: TsLiteralValue) => LiteralTsDsl; /** Creates an enum member declaration. */
2310
2310
  member: (name: NodeName, value?: ((string | number | ts.Expression | TsDsl<ts.Expression>) | ((m: EnumMemberTsDsl) => void)) | undefined) => EnumMemberTsDsl; /** Creates a method declaration inside a class or object. */
2311
2311
  method: (name: NodeName, fn?: ((m: MethodTsDsl) => void) | undefined) => MethodTsDsl; /** Creates a negation expression (`-x`). */
2312
2312
  neg: (expr?: PrefixExpr | undefined, op?: ts.PrefixUnaryOperator | undefined) => PrefixTsDsl; /** Creates a new expression (e.g., `new ClassName()`). */
2313
- new: (expr: any, ...args: any[]) => NewTsDsl; /** Creates a newline (for formatting purposes). */
2313
+ new: (expr: NewExpr, ...args: (NewExpr | undefined)[]) => NewTsDsl; /** Creates a newline (for formatting purposes). */
2314
2314
  newline: () => NewlineTsDsl; /** Creates a logical NOT expression (`!x`). */
2315
2315
  not: (expr?: PrefixExpr | undefined, op?: ts.PrefixUnaryOperator | undefined) => PrefixTsDsl; /** Creates a block comment (/* ... *\/). */
2316
2316
  note: (lines?: NoteLines | undefined, fn?: NoteFn | undefined) => NoteTsDsl; /** Creates an object literal expression. */
2317
2317
  object: (...args: ConstructorParameters<typeof ObjectTsDsl>) => ObjectTsDsl; /** Creates a parameter declaration for functions or methods. */
2318
- param: (name: any, fn?: ParamFn | undefined) => ParamTsDsl; /** Creates a pattern for destructuring or matching. */
2318
+ param: (name: ParamName, fn?: ParamFn | undefined) => ParamTsDsl; /** Creates a pattern for destructuring or matching. */
2319
2319
  pattern: () => PatternTsDsl; /** Creates a prefix unary expression (e.g., `-x`, `!x`, `~x`). */
2320
2320
  prefix: (expr?: PrefixExpr | undefined, op?: ts.PrefixUnaryOperator | undefined) => PrefixTsDsl; /** Creates an object literal property (e.g., `{ foo: bar }`). */
2321
2321
  prop: (meta: {
@@ -2338,11 +2338,11 @@ declare const $: ((id: any) => ExprTsDsl) & {
2338
2338
  name?: undefined;
2339
2339
  }) => ObjectPropTsDsl; /** Creates a regular expression literal (e.g., `/foo/gi`). */
2340
2340
  regexp: (pattern: string, flags?: ("" | "g" | "i" | "m" | "s" | "u" | "y" | "uy" | "yu" | "su" | "sy" | "suy" | "syu" | "ys" | "us" | "usy" | "uys" | "ysu" | "yus" | "ms" | "mu" | "my" | "muy" | "myu" | "msu" | "msy" | "msuy" | "msyu" | "mys" | "mus" | "musy" | "muys" | "mysu" | "myus" | "ym" | "um" | "umy" | "uym" | "ymu" | "yum" | "sm" | "smu" | "smy" | "smuy" | "smyu" | "sym" | "sum" | "sumy" | "suym" | "symu" | "syum" | "yms" | "ysm" | "ums" | "umsy" | "umys" | "usm" | "usmy" | "usym" | "uyms" | "uysm" | "ymsu" | "ymus" | "ysmu" | "ysum" | "yums" | "yusm" | "im" | "is" | "iu" | "iy" | "iuy" | "iyu" | "isu" | "isy" | "isuy" | "isyu" | "iys" | "ius" | "iusy" | "iuys" | "iysu" | "iyus" | "ims" | "imu" | "imy" | "imuy" | "imyu" | "imsu" | "imsy" | "imsuy" | "imsyu" | "imys" | "imus" | "imusy" | "imuys" | "imysu" | "imyus" | "iym" | "ium" | "iumy" | "iuym" | "iymu" | "iyum" | "ism" | "ismu" | "ismy" | "ismuy" | "ismyu" | "isym" | "isum" | "isumy" | "isuym" | "isymu" | "isyum" | "iyms" | "iysm" | "iums" | "iumsy" | "iumys" | "iusm" | "iusmy" | "iusym" | "iuyms" | "iuysm" | "iymsu" | "iymus" | "iysmu" | "iysum" | "iyums" | "iyusm" | "yi" | "ui" | "uiy" | "uyi" | "yiu" | "yui" | "si" | "siu" | "siy" | "siuy" | "siyu" | "syi" | "sui" | "suiy" | "suyi" | "syiu" | "syui" | "yis" | "ysi" | "uis" | "uisy" | "uiys" | "usi" | "usiy" | "usyi" | "uyis" | "uysi" | "yisu" | "yius" | "ysiu" | "ysui" | "yuis" | "yusi" | "mi" | "mis" | "miu" | "miy" | "miuy" | "miyu" | "misu" | "misy" | "misuy" | "misyu" | "miys" | "mius" | "miusy" | "miuys" | "miysu" | "miyus" | "myi" | "mui" | "muiy" | "muyi" | "myiu" | "myui" | "msi" | "msiu" | "msiy" | "msiuy" | "msiyu" | "msyi" | "msui" | "msuiy" | "msuyi" | "msyiu" | "msyui" | "myis" | "mysi" | "muis" | "muisy" | "muiys" | "musi" | "musiy" | "musyi" | "muyis" | "muysi" | "myisu" | "myius" | "mysiu" | "mysui" | "myuis" | "myusi" | "yim" | "ymi" | "uim" | "uimy" | "uiym" | "umi" | "umiy" | "umyi" | "uyim" | "uymi" | "yimu" | "yium" | "ymiu" | "ymui" | "yuim" | "yumi" | "sim" | "simu" | "simy" | "simuy" | "simyu" | "siym" | "sium" | "siumy" | "siuym" | "siymu" | "siyum" | "smi" | "smiu" | "smiy" | "smiuy" | "smiyu" | "smyi" | "smui" | "smuiy" | "smuyi" | "smyiu" | "smyui" | "syim" | "symi" | "suim" | "suimy" | "suiym" | "sumi" | "sumiy" | "sumyi" | "suyim" | "suymi" | "syimu" | "syium" | "symiu" | "symui" | "syuim" | "syumi" | "yims" | "yism" | "ymis" | "ymsi" | "ysim" | "ysmi" | "uims" | "uimsy" | "uimys" | "uism" | "uismy" | "uisym" | "uiyms" | "uiysm" | "umis" | "umisy" | "umiys" | "umsi" | "umsiy" | "umsyi" | "umyis" | "umysi" | "usim" | "usimy" | "usiym" | "usmi" | "usmiy" | "usmyi" | "usyim" | "usymi" | "uyims" | "uyism" | "uymis" | "uymsi" | "uysim" | "uysmi" | "yimsu" | "yimus" | "yismu" | "yisum" | "yiums" | "yiusm" | "ymisu" | "ymius" | "ymsiu" | "ymsui" | "ymuis" | "ymusi" | "ysimu" | "ysium" | "ysmiu" | "ysmui" | "ysuim" | "ysumi" | "yuims" | "yuism" | "yumis" | "yumsi" | "yusim" | "yusmi" | "gi" | "gm" | "gs" | "gu" | "gy" | "guy" | "gyu" | "gsu" | "gsy" | "gsuy" | "gsyu" | "gys" | "gus" | "gusy" | "guys" | "gysu" | "gyus" | "gms" | "gmu" | "gmy" | "gmuy" | "gmyu" | "gmsu" | "gmsy" | "gmsuy" | "gmsyu" | "gmys" | "gmus" | "gmusy" | "gmuys" | "gmysu" | "gmyus" | "gym" | "gum" | "gumy" | "guym" | "gymu" | "gyum" | "gsm" | "gsmu" | "gsmy" | "gsmuy" | "gsmyu" | "gsym" | "gsum" | "gsumy" | "gsuym" | "gsymu" | "gsyum" | "gyms" | "gysm" | "gums" | "gumsy" | "gumys" | "gusm" | "gusmy" | "gusym" | "guyms" | "guysm" | "gymsu" | "gymus" | "gysmu" | "gysum" | "gyums" | "gyusm" | "gim" | "gis" | "giu" | "giy" | "giuy" | "giyu" | "gisu" | "gisy" | "gisuy" | "gisyu" | "giys" | "gius" | "giusy" | "giuys" | "giysu" | "giyus" | "gims" | "gimu" | "gimy" | "gimuy" | "gimyu" | "gimsu" | "gimsy" | "gimsuy" | "gimsyu" | "gimys" | "gimus" | "gimusy" | "gimuys" | "gimysu" | "gimyus" | "giym" | "gium" | "giumy" | "giuym" | "giymu" | "giyum" | "gism" | "gismu" | "gismy" | "gismuy" | "gismyu" | "gisym" | "gisum" | "gisumy" | "gisuym" | "gisymu" | "gisyum" | "giyms" | "giysm" | "giums" | "giumsy" | "giumys" | "giusm" | "giusmy" | "giusym" | "giuyms" | "giuysm" | "giymsu" | "giymus" | "giysmu" | "giysum" | "giyums" | "giyusm" | "gyi" | "gui" | "guiy" | "guyi" | "gyiu" | "gyui" | "gsi" | "gsiu" | "gsiy" | "gsiuy" | "gsiyu" | "gsyi" | "gsui" | "gsuiy" | "gsuyi" | "gsyiu" | "gsyui" | "gyis" | "gysi" | "guis" | "guisy" | "guiys" | "gusi" | "gusiy" | "gusyi" | "guyis" | "guysi" | "gyisu" | "gyius" | "gysiu" | "gysui" | "gyuis" | "gyusi" | "gmi" | "gmis" | "gmiu" | "gmiy" | "gmiuy" | "gmiyu" | "gmisu" | "gmisy" | "gmisuy" | "gmisyu" | "gmiys" | "gmius" | "gmiusy" | "gmiuys" | "gmiysu" | "gmiyus" | "gmyi" | "gmui" | "gmuiy" | "gmuyi" | "gmyiu" | "gmyui" | "gmsi" | "gmsiu" | "gmsiy" | "gmsiuy" | "gmsiyu" | "gmsyi" | "gmsui" | "gmsuiy" | "gmsuyi" | "gmsyiu" | "gmsyui" | "gmyis" | "gmysi" | "gmuis" | "gmuisy" | "gmuiys" | "gmusi" | "gmusiy" | "gmusyi" | "gmuyis" | "gmuysi" | "gmyisu" | "gmyius" | "gmysiu" | "gmysui" | "gmyuis" | "gmyusi" | "gyim" | "gymi" | "guim" | "guimy" | "guiym" | "gumi" | "gumiy" | "gumyi" | "guyim" | "guymi" | "gyimu" | "gyium" | "gymiu" | "gymui" | "gyuim" | "gyumi" | "gsim" | "gsimu" | "gsimy" | "gsimuy" | "gsimyu" | "gsiym" | "gsium" | "gsiumy" | "gsiuym" | "gsiymu" | "gsiyum" | "gsmi" | "gsmiu" | "gsmiy" | "gsmiuy" | "gsmiyu" | "gsmyi" | "gsmui" | "gsmuiy" | "gsmuyi" | "gsmyiu" | "gsmyui" | "gsyim" | "gsymi" | "gsuim" | "gsuimy" | "gsuiym" | "gsumi" | "gsumiy" | "gsumyi" | "gsuyim" | "gsuymi" | "gsyimu" | "gsyium" | "gsymiu" | "gsymui" | "gsyuim" | "gsyumi" | "gyims" | "gyism" | "gymis" | "gymsi" | "gysim" | "gysmi" | "guims" | "guimsy" | "guimys" | "guism" | "guismy" | "guisym" | "guiyms" | "guiysm" | "gumis" | "gumisy" | "gumiys" | "gumsi" | "gumsiy" | "gumsyi" | "gumyis" | "gumysi" | "gusim" | "gusimy" | "gusiym" | "gusmi" | "gusmiy" | "gusmyi" | "gusyim" | "gusymi" | "guyims" | "guyism" | "guymis" | "guymsi" | "guysim" | "guysmi" | "gyimsu" | "gyimus" | "gyismu" | "gyisum" | "gyiums" | "gyiusm" | "gymisu" | "gymius" | "gymsiu" | "gymsui" | "gymuis" | "gymusi" | "gysimu" | "gysium" | "gysmiu" | "gysmui" | "gysuim" | "gysumi" | "gyuims" | "gyuism" | "gyumis" | "gyumsi" | "gyusim" | "gyusmi" | "yg" | "ug" | "ugy" | "uyg" | "ygu" | "yug" | "sg" | "sgu" | "sgy" | "sguy" | "sgyu" | "syg" | "sug" | "sugy" | "suyg" | "sygu" | "syug" | "ygs" | "ysg" | "ugs" | "ugsy" | "ugys" | "usg" | "usgy" | "usyg" | "uygs" | "uysg" | "ygsu" | "ygus" | "ysgu" | "ysug" | "yugs" | "yusg" | "mg" | "mgs" | "mgu" | "mgy" | "mguy" | "mgyu" | "mgsu" | "mgsy" | "mgsuy" | "mgsyu" | "mgys" | "mgus" | "mgusy" | "mguys" | "mgysu" | "mgyus" | "myg" | "mug" | "mugy" | "muyg" | "mygu" | "myug" | "msg" | "msgu" | "msgy" | "msguy" | "msgyu" | "msyg" | "msug" | "msugy" | "msuyg" | "msygu" | "msyug" | "mygs" | "mysg" | "mugs" | "mugsy" | "mugys" | "musg" | "musgy" | "musyg" | "muygs" | "muysg" | "mygsu" | "mygus" | "mysgu" | "mysug" | "myugs" | "myusg" | "ygm" | "ymg" | "ugm" | "ugmy" | "ugym" | "umg" | "umgy" | "umyg" | "uygm" | "uymg" | "ygmu" | "ygum" | "ymgu" | "ymug" | "yugm" | "yumg" | "sgm" | "sgmu" | "sgmy" | "sgmuy" | "sgmyu" | "sgym" | "sgum" | "sgumy" | "sguym" | "sgymu" | "sgyum" | "smg" | "smgu" | "smgy" | "smguy" | "smgyu" | "smyg" | "smug" | "smugy" | "smuyg" | "smygu" | "smyug" | "sygm" | "symg" | "sugm" | "sugmy" | "sugym" | "sumg" | "sumgy" | "sumyg" | "suygm" | "suymg" | "sygmu" | "sygum" | "symgu" | "symug" | "syugm" | "syumg" | "ygms" | "ygsm" | "ymgs" | "ymsg" | "ysgm" | "ysmg" | "ugms" | "ugmsy" | "ugmys" | "ugsm" | "ugsmy" | "ugsym" | "ugyms" | "ugysm" | "umgs" | "umgsy" | "umgys" | "umsg" | "umsgy" | "umsyg" | "umygs" | "umysg" | "usgm" | "usgmy" | "usgym" | "usmg" | "usmgy" | "usmyg" | "usygm" | "usymg" | "uygms" | "uygsm" | "uymgs" | "uymsg" | "uysgm" | "uysmg" | "ygmsu" | "ygmus" | "ygsmu" | "ygsum" | "ygums" | "ygusm" | "ymgsu" | "ymgus" | "ymsgu" | "ymsug" | "ymugs" | "ymusg" | "ysgmu" | "ysgum" | "ysmgu" | "ysmug" | "ysugm" | "ysumg" | "yugms" | "yugsm" | "yumgs" | "yumsg" | "yusgm" | "yusmg" | "ig" | "igm" | "igs" | "igu" | "igy" | "iguy" | "igyu" | "igsu" | "igsy" | "igsuy" | "igsyu" | "igys" | "igus" | "igusy" | "iguys" | "igysu" | "igyus" | "igms" | "igmu" | "igmy" | "igmuy" | "igmyu" | "igmsu" | "igmsy" | "igmsuy" | "igmsyu" | "igmys" | "igmus" | "igmusy" | "igmuys" | "igmysu" | "igmyus" | "igym" | "igum" | "igumy" | "iguym" | "igymu" | "igyum" | "igsm" | "igsmu" | "igsmy" | "igsmuy" | "igsmyu" | "igsym" | "igsum" | "igsumy" | "igsuym" | "igsymu" | "igsyum" | "igyms" | "igysm" | "igums" | "igumsy" | "igumys" | "igusm" | "igusmy" | "igusym" | "iguyms" | "iguysm" | "igymsu" | "igymus" | "igysmu" | "igysum" | "igyums" | "igyusm" | "iyg" | "iug" | "iugy" | "iuyg" | "iygu" | "iyug" | "isg" | "isgu" | "isgy" | "isguy" | "isgyu" | "isyg" | "isug" | "isugy" | "isuyg" | "isygu" | "isyug" | "iygs" | "iysg" | "iugs" | "iugsy" | "iugys" | "iusg" | "iusgy" | "iusyg" | "iuygs" | "iuysg" | "iygsu" | "iygus" | "iysgu" | "iysug" | "iyugs" | "iyusg" | "img" | "imgs" | "imgu" | "imgy" | "imguy" | "imgyu" | "imgsu" | "imgsy" | "imgsuy" | "imgsyu" | "imgys" | "imgus" | "imgusy" | "imguys" | "imgysu" | "imgyus" | "imyg" | "imug" | "imugy" | "imuyg" | "imygu" | "imyug" | "imsg" | "imsgu" | "imsgy" | "imsguy" | "imsgyu" | "imsyg" | "imsug" | "imsugy" | "imsuyg" | "imsygu" | "imsyug" | "imygs" | "imysg" | "imugs" | "imugsy" | "imugys" | "imusg" | "imusgy" | "imusyg" | "imuygs" | "imuysg" | "imygsu" | "imygus" | "imysgu" | "imysug" | "imyugs" | "imyusg" | "iygm" | "iymg" | "iugm" | "iugmy" | "iugym" | "iumg" | "iumgy" | "iumyg" | "iuygm" | "iuymg" | "iygmu" | "iygum" | "iymgu" | "iymug" | "iyugm" | "iyumg" | "isgm" | "isgmu" | "isgmy" | "isgmuy" | "isgmyu" | "isgym" | "isgum" | "isgumy" | "isguym" | "isgymu" | "isgyum" | "ismg" | "ismgu" | "ismgy" | "ismguy" | "ismgyu" | "ismyg" | "ismug" | "ismugy" | "ismuyg" | "ismygu" | "ismyug" | "isygm" | "isymg" | "isugm" | "isugmy" | "isugym" | "isumg" | "isumgy" | "isumyg" | "isuygm" | "isuymg" | "isygmu" | "isygum" | "isymgu" | "isymug" | "isyugm" | "isyumg" | "iygms" | "iygsm" | "iymgs" | "iymsg" | "iysgm" | "iysmg" | "iugms" | "iugmsy" | "iugmys" | "iugsm" | "iugsmy" | "iugsym" | "iugyms" | "iugysm" | "iumgs" | "iumgsy" | "iumgys" | "iumsg" | "iumsgy" | "iumsyg" | "iumygs" | "iumysg" | "iusgm" | "iusgmy" | "iusgym" | "iusmg" | "iusmgy" | "iusmyg" | "iusygm" | "iusymg" | "iuygms" | "iuygsm" | "iuymgs" | "iuymsg" | "iuysgm" | "iuysmg" | "iygmsu" | "iygmus" | "iygsmu" | "iygsum" | "iygums" | "iygusm" | "iymgsu" | "iymgus" | "iymsgu" | "iymsug" | "iymugs" | "iymusg" | "iysgmu" | "iysgum" | "iysmgu" | "iysmug" | "iysugm" | "iysumg" | "iyugms" | "iyugsm" | "iyumgs" | "iyumsg" | "iyusgm" | "iyusmg" | "ygi" | "yig" | "ugi" | "ugiy" | "ugyi" | "uig" | "uigy" | "uiyg" | "uygi" | "uyig" | "ygiu" | "ygui" | "yigu" | "yiug" | "yugi" | "yuig" | "sgi" | "sgiu" | "sgiy" | "sgiuy" | "sgiyu" | "sgyi" | "sgui" | "sguiy" | "sguyi" | "sgyiu" | "sgyui" | "sig" | "sigu" | "sigy" | "siguy" | "sigyu" | "siyg" | "siug" | "siugy" | "siuyg" | "siygu" | "siyug" | "sygi" | "syig" | "sugi" | "sugiy" | "sugyi" | "suig" | "suigy" | "suiyg" | "suygi" | "suyig" | "sygiu" | "sygui" | "syigu" | "syiug" | "syugi" | "syuig" | "ygis" | "ygsi" | "yigs" | "yisg" | "ysgi" | "ysig" | "ugis" | "ugisy" | "ugiys" | "ugsi" | "ugsiy" | "ugsyi" | "ugyis" | "ugysi" | "uigs" | "uigsy" | "uigys" | "uisg" | "uisgy" | "uisyg" | "uiygs" | "uiysg" | "usgi" | "usgiy" | "usgyi" | "usig" | "usigy" | "usiyg" | "usygi" | "usyig" | "uygis" | "uygsi" | "uyigs" | "uyisg" | "uysgi" | "uysig" | "ygisu" | "ygius" | "ygsiu" | "ygsui" | "yguis" | "ygusi" | "yigsu" | "yigus" | "yisgu" | "yisug" | "yiugs" | "yiusg" | "ysgiu" | "ysgui" | "ysigu" | "ysiug" | "ysugi" | "ysuig" | "yugis" | "yugsi" | "yuigs" | "yuisg" | "yusgi" | "yusig" | "mgi" | "mgis" | "mgiu" | "mgiy" | "mgiuy" | "mgiyu" | "mgisu" | "mgisy" | "mgisuy" | "mgisyu" | "mgiys" | "mgius" | "mgiusy" | "mgiuys" | "mgiysu" | "mgiyus" | "mgyi" | "mgui" | "mguiy" | "mguyi" | "mgyiu" | "mgyui" | "mgsi" | "mgsiu" | "mgsiy" | "mgsiuy" | "mgsiyu" | "mgsyi" | "mgsui" | "mgsuiy" | "mgsuyi" | "mgsyiu" | "mgsyui" | "mgyis" | "mgysi" | "mguis" | "mguisy" | "mguiys" | "mgusi" | "mgusiy" | "mgusyi" | "mguyis" | "mguysi" | "mgyisu" | "mgyius" | "mgysiu" | "mgysui" | "mgyuis" | "mgyusi" | "mig" | "migs" | "migu" | "migy" | "miguy" | "migyu" | "migsu" | "migsy" | "migsuy" | "migsyu" | "migys" | "migus" | "migusy" | "miguys" | "migysu" | "migyus" | "miyg" | "miug" | "miugy" | "miuyg" | "miygu" | "miyug" | "misg" | "misgu" | "misgy" | "misguy" | "misgyu" | "misyg" | "misug" | "misugy" | "misuyg" | "misygu" | "misyug" | "miygs" | "miysg" | "miugs" | "miugsy" | "miugys" | "miusg" | "miusgy" | "miusyg" | "miuygs" | "miuysg" | "miygsu" | "miygus" | "miysgu" | "miysug" | "miyugs" | "miyusg" | "mygi" | "myig" | "mugi" | "mugiy" | "mugyi" | "muig" | "muigy" | "muiyg" | "muygi" | "muyig" | "mygiu" | "mygui" | "myigu" | "myiug" | "myugi" | "myuig" | "msgi" | "msgiu" | "msgiy" | "msgiuy" | "msgiyu" | "msgyi" | "msgui" | "msguiy" | "msguyi" | "msgyiu" | "msgyui" | "msig" | "msigu" | "msigy" | "msiguy" | "msigyu" | "msiyg" | "msiug" | "msiugy" | "msiuyg" | "msiygu" | "msiyug" | "msygi" | "msyig" | "msugi" | "msugiy" | "msugyi" | "msuig" | "msuigy" | "msuiyg" | "msuygi" | "msuyig" | "msygiu" | "msygui" | "msyigu" | "msyiug" | "msyugi" | "msyuig" | "mygis" | "mygsi" | "myigs" | "myisg" | "mysgi" | "mysig" | "mugis" | "mugisy" | "mugiys" | "mugsi" | "mugsiy" | "mugsyi" | "mugyis" | "mugysi" | "muigs" | "muigsy" | "muigys" | "muisg" | "muisgy" | "muisyg" | "muiygs" | "muiysg" | "musgi" | "musgiy" | "musgyi" | "musig" | "musigy" | "musiyg" | "musygi" | "musyig" | "muygis" | "muygsi" | "muyigs" | "muyisg" | "muysgi" | "muysig" | "mygisu" | "mygius" | "mygsiu" | "mygsui" | "myguis" | "mygusi" | "myigsu" | "myigus" | "myisgu" | "myisug" | "myiugs" | "myiusg" | "mysgiu" | "mysgui" | "mysigu" | "mysiug" | "mysugi" | "mysuig" | "myugis" | "myugsi" | "myuigs" | "myuisg" | "myusgi" | "myusig" | "ygim" | "ygmi" | "yigm" | "yimg" | "ymgi" | "ymig" | "ugim" | "ugimy" | "ugiym" | "ugmi" | "ugmiy" | "ugmyi" | "ugyim" | "ugymi" | "uigm" | "uigmy" | "uigym" | "uimg" | "uimgy" | "uimyg" | "uiygm" | "uiymg" | "umgi" | "umgiy" | "umgyi" | "umig" | "umigy" | "umiyg" | "umygi" | "umyig" | "uygim" | "uygmi" | "uyigm" | "uyimg" | "uymgi" | "uymig" | "ygimu" | "ygium" | "ygmiu" | "ygmui" | "yguim" | "ygumi" | "yigmu" | "yigum" | "yimgu" | "yimug" | "yiugm" | "yiumg" | "ymgiu" | "ymgui" | "ymigu" | "ymiug" | "ymugi" | "ymuig" | "yugim" | "yugmi" | "yuigm" | "yuimg" | "yumgi" | "yumig" | "sgim" | "sgimu" | "sgimy" | "sgimuy" | "sgimyu" | "sgiym" | "sgium" | "sgiumy" | "sgiuym" | "sgiymu" | "sgiyum" | "sgmi" | "sgmiu" | "sgmiy" | "sgmiuy" | "sgmiyu" | "sgmyi" | "sgmui" | "sgmuiy" | "sgmuyi" | "sgmyiu" | "sgmyui" | "sgyim" | "sgymi" | "sguim" | "sguimy" | "sguiym" | "sgumi" | "sgumiy" | "sgumyi" | "sguyim" | "sguymi" | "sgyimu" | "sgyium" | "sgymiu" | "sgymui" | "sgyuim" | "sgyumi" | "sigm" | "sigmu" | "sigmy" | "sigmuy" | "sigmyu" | "sigym" | "sigum" | "sigumy" | "siguym" | "sigymu" | "sigyum" | "simg" | "simgu" | "simgy" | "simguy" | "simgyu" | "simyg" | "simug" | "simugy" | "simuyg" | "simygu" | "simyug" | "siygm" | "siymg" | "siugm" | "siugmy" | "siugym" | "siumg" | "siumgy" | "siumyg" | "siuygm" | "siuymg" | "siygmu" | "siygum" | "siymgu" | "siymug" | "siyugm" | "siyumg" | "smgi" | "smgiu" | "smgiy" | "smgiuy" | "smgiyu" | "smgyi" | "smgui" | "smguiy" | "smguyi" | "smgyiu" | "smgyui" | "smig" | "smigu" | "smigy" | "smiguy" | "smigyu" | "smiyg" | "smiug" | "smiugy" | "smiuyg" | "smiygu" | "smiyug" | "smygi" | "smyig" | "smugi" | "smugiy" | "smugyi" | "smuig" | "smuigy" | "smuiyg" | "smuygi" | "smuyig" | "smygiu" | "smygui" | "smyigu" | "smyiug" | "smyugi" | "smyuig" | "sygim" | "sygmi" | "syigm" | "syimg" | "symgi" | "symig" | "sugim" | "sugimy" | "sugiym" | "sugmi" | "sugmiy" | "sugmyi" | "sugyim" | "sugymi" | "suigm" | "suigmy" | "suigym" | "suimg" | "suimgy" | "suimyg" | "suiygm" | "suiymg" | "sumgi" | "sumgiy" | "sumgyi" | "sumig" | "sumigy" | "sumiyg" | "sumygi" | "sumyig" | "suygim" | "suygmi" | "suyigm" | "suyimg" | "suymgi" | "suymig" | "sygimu" | "sygium" | "sygmiu" | "sygmui" | "syguim" | "sygumi" | "syigmu" | "syigum" | "syimgu" | "syimug" | "syiugm" | "syiumg" | "symgiu" | "symgui" | "symigu" | "symiug" | "symugi" | "symuig" | "syugim" | "syugmi" | "syuigm" | "syuimg" | "syumgi" | "syumig" | "ygims" | "ygism" | "ygmis" | "ygmsi" | "ygsim" | "ygsmi" | "yigms" | "yigsm" | "yimgs" | "yimsg" | "yisgm" | "yismg" | "ymgis" | "ymgsi" | "ymigs" | "ymisg" | "ymsgi" | "ymsig" | "ysgim" | "ysgmi" | "ysigm" | "ysimg" | "ysmgi" | "ysmig" | "ugims" | "ugimsy" | "ugimys" | "ugism" | "ugismy" | "ugisym" | "ugiyms" | "ugiysm" | "ugmis" | "ugmisy" | "ugmiys" | "ugmsi" | "ugmsiy" | "ugmsyi" | "ugmyis" | "ugmysi" | "ugsim" | "ugsimy" | "ugsiym" | "ugsmi" | "ugsmiy" | "ugsmyi" | "ugsyim" | "ugsymi" | "ugyims" | "ugyism" | "ugymis" | "ugymsi" | "ugysim" | "ugysmi" | "uigms" | "uigmsy" | "uigmys" | "uigsm" | "uigsmy" | "uigsym" | "uigyms" | "uigysm" | "uimgs" | "uimgsy" | "uimgys" | "uimsg" | "uimsgy" | "uimsyg" | "uimygs" | "uimysg" | "uisgm" | "uisgmy" | "uisgym" | "uismg" | "uismgy" | "uismyg" | "uisygm" | "uisymg" | "uiygms" | "uiygsm" | "uiymgs" | "uiymsg" | "uiysgm" | "uiysmg" | "umgis" | "umgisy" | "umgiys" | "umgsi" | "umgsiy" | "umgsyi" | "umgyis" | "umgysi" | "umigs" | "umigsy" | "umigys" | "umisg" | "umisgy" | "umisyg" | "umiygs" | "umiysg" | "umsgi" | "umsgiy" | "umsgyi" | "umsig" | "umsigy" | "umsiyg" | "umsygi" | "umsyig" | "umygis" | "umygsi" | "umyigs" | "umyisg" | "umysgi" | "umysig" | "usgim" | "usgimy" | "usgiym" | "usgmi" | "usgmiy" | "usgmyi" | "usgyim" | "usgymi" | "usigm" | "usigmy" | "usigym" | "usimg" | "usimgy" | "usimyg" | "usiygm" | "usiymg" | "usmgi" | "usmgiy" | "usmgyi" | "usmig" | "usmigy" | "usmiyg" | "usmygi" | "usmyig" | "usygim" | "usygmi" | "usyigm" | "usyimg" | "usymgi" | "usymig" | "uygims" | "uygism" | "uygmis" | "uygmsi" | "uygsim" | "uygsmi" | "uyigms" | "uyigsm" | "uyimgs" | "uyimsg" | "uyisgm" | "uyismg" | "uymgis" | "uymgsi" | "uymigs" | "uymisg" | "uymsgi" | "uymsig" | "uysgim" | "uysgmi" | "uysigm" | "uysimg" | "uysmgi" | "uysmig" | "ygimsu" | "ygimus" | "ygismu" | "ygisum" | "ygiums" | "ygiusm" | "ygmisu" | "ygmius" | "ygmsiu" | "ygmsui" | "ygmuis" | "ygmusi" | "ygsimu" | "ygsium" | "ygsmiu" | "ygsmui" | "ygsuim" | "ygsumi" | "yguims" | "yguism" | "ygumis" | "ygumsi" | "ygusim" | "ygusmi" | "yigmsu" | "yigmus" | "yigsmu" | "yigsum" | "yigums" | "yigusm" | "yimgsu" | "yimgus" | "yimsgu" | "yimsug" | "yimugs" | "yimusg" | "yisgmu" | "yisgum" | "yismgu" | "yismug" | "yisugm" | "yisumg" | "yiugms" | "yiugsm" | "yiumgs" | "yiumsg" | "yiusgm" | "yiusmg" | "ymgisu" | "ymgius" | "ymgsiu" | "ymgsui" | "ymguis" | "ymgusi" | "ymigsu" | "ymigus" | "ymisgu" | "ymisug" | "ymiugs" | "ymiusg" | "ymsgiu" | "ymsgui" | "ymsigu" | "ymsiug" | "ymsugi" | "ymsuig" | "ymugis" | "ymugsi" | "ymuigs" | "ymuisg" | "ymusgi" | "ymusig" | "ysgimu" | "ysgium" | "ysgmiu" | "ysgmui" | "ysguim" | "ysgumi" | "ysigmu" | "ysigum" | "ysimgu" | "ysimug" | "ysiugm" | "ysiumg" | "ysmgiu" | "ysmgui" | "ysmigu" | "ysmiug" | "ysmugi" | "ysmuig" | "ysugim" | "ysugmi" | "ysuigm" | "ysuimg" | "ysumgi" | "ysumig" | "yugims" | "yugism" | "yugmis" | "yugmsi" | "yugsim" | "yugsmi" | "yuigms" | "yuigsm" | "yuimgs" | "yuimsg" | "yuisgm" | "yuismg" | "yumgis" | "yumgsi" | "yumigs" | "yumisg" | "yumsgi" | "yumsig" | "yusgim" | "yusgmi" | "yusigm" | "yusimg" | "yusmgi" | "yusmig") | undefined) => RegExpTsDsl; /** Creates a return statement. */
2341
- return: (expr?: any) => ReturnTsDsl; /** Creates a setter method declaration. */
2341
+ return: (expr?: ReturnExpr | undefined) => ReturnTsDsl; /** Creates a setter method declaration. */
2342
2342
  setter: (name: NodeName, fn?: ((s: SetterTsDsl) => void) | undefined) => SetterTsDsl; /** Creates a spread element from an expression (e.g., `...expr`). */
2343
- spread: (expr: any) => SpreadTsDsl; /** Wraps an expression or statement-like value into a `StmtTsDsl`. */
2343
+ spread: (expr: SpreadExpr) => SpreadTsDsl; /** Wraps an expression or statement-like value into a `StmtTsDsl`. */
2344
2344
  stmt: (inner: ts.Expression | ts.Statement | TsDsl<any>) => StmtTsDsl; /** Creates a template literal expression. */
2345
- template: (value?: any) => TemplateTsDsl; /** Creates a ternary conditional expression (if ? then : else). */
2345
+ template: (value?: TemplatePart | undefined) => TemplateTsDsl; /** Creates a ternary conditional expression (if ? then : else). */
2346
2346
  ternary: (condition?: string | ts.Expression | TsDsl<ts.Expression> | undefined) => TernaryTsDsl; /** Creates a throw statement. */
2347
2347
  throw: (error: string | ts.Expression | TsDsl<ts.Expression>, useNew?: boolean | undefined) => ThrowTsDsl; /** Creates a syntax token (e.g., `?`, `readonly`, `+`, `-`). */
2348
2348
  token: () => TokenTsDsl<never>; /** Creates a try/catch/finally statement. */
@@ -2350,24 +2350,24 @@ declare const $: ((id: any) => ExprTsDsl) & {
2350
2350
  type: ((name: NodeName, fn?: TypeExprFn | undefined) => TypeExprTsDsl) & {
2351
2351
  /** Creates a type alias declaration (e.g., `type Foo = Bar`). */alias: (name: NodeName, fn?: ((t: TypeAliasTsDsl) => void) | undefined) => TypeAliasTsDsl; /** Creates an intersection type (e.g., `A & B`). */
2352
2352
  and: (...args: ConstructorParameters<typeof TypeAndTsDsl>) => TypeAndTsDsl; /** Creates a qualified type reference (e.g., Foo.Bar). */
2353
- attr: (right: any) => TypeAttrTsDsl; /** Creates a basic type reference or type expression (e.g., Foo or Foo<T>). */
2353
+ attr: (right: NodeName | ts.Identifier) => TypeAttrTsDsl; /** Creates a basic type reference or type expression (e.g., Foo or Foo<T>). */
2354
2354
  expr: (name: NodeName, fn?: TypeExprFn | undefined) => TypeExprTsDsl; /** Converts a runtime value into a corresponding type expression node. */
2355
2355
  fromValue: (input: unknown) => TsDsl<ts.TypeNode>; /** Creates a function type node (e.g., `(a: string) => number`). */
2356
2356
  func: (...args: ConstructorParameters<typeof TypeFuncTsDsl>) => TypeFuncTsDsl; /** Creates an indexed-access type (e.g., `Foo<T>[K]`). */
2357
2357
  idx: (base: string | ts.TypeNode | TsDsl<ts.TypeNode>, index: string | number | ts.TypeNode | TsDsl<ts.TypeNode>) => TypeIdxTsDsl; /** Creates a literal type node (e.g., 'foo', 42, or true). */
2358
2358
  literal: (value: TsLiteralValue) => TypeLiteralTsDsl; /** Creates a mapped type (e.g., `{ [K in keyof T]: U }`). */
2359
- mapped: (name?: any) => TypeMappedTsDsl; /** Creates a type literal node (e.g., { foo: string }). */
2359
+ mapped: (name?: NodeName | undefined) => TypeMappedTsDsl; /** Creates a type literal node (e.g., { foo: string }). */
2360
2360
  object: () => TypeObjectTsDsl; /** Creates a type operator node (e.g., `readonly T`, `keyof T`, `unique T`). */
2361
2361
  operator: () => TypeOperatorTsDsl; /** Represents a union type (e.g., `A | B | C`). */
2362
2362
  or: (...args: ConstructorParameters<typeof TypeOrTsDsl>) => TypeOrTsDsl; /** Creates a type parameter (e.g., `<T>`). */
2363
- param: (name?: any, fn?: ((name: TypeParamTsDsl) => void) | undefined) => TypeParamTsDsl; /** Creates a type query node (e.g., `typeof Foo`). */
2364
- query: (expr: any) => TypeQueryTsDsl; /** Builds a TypeScript template literal *type* (e.g., `${Foo}-${Bar}` as a type). */
2363
+ param: (name?: NodeName | undefined, fn?: ((name: TypeParamTsDsl) => void) | undefined) => TypeParamTsDsl; /** Creates a type query node (e.g., `typeof Foo`). */
2364
+ query: (expr: TypeQueryExpr) => TypeQueryTsDsl; /** Builds a TypeScript template literal *type* (e.g., `${Foo}-${Bar}` as a type). */
2365
2365
  template: (value?: string | ts.TypeNode | TsDsl<ts.TypeNode> | undefined) => TypeTemplateTsDsl; /** Creates a tuple type (e.g., [A, B, C]). */
2366
2366
  tuple: (...args: ConstructorParameters<typeof TypeTupleTsDsl>) => TypeTupleTsDsl; /** Creates a named tuple element (e.g., `[resolver?: R]`). */
2367
2367
  tupleMember: (name: NodeName) => TypeTupleMemberTsDsl;
2368
2368
  }; /** Creates a `typeof` expression (e.g., `typeof value`). */
2369
- typeofExpr: (expr: any) => TypeOfExprTsDsl; /** Creates a variable declaration (`var`). */
2370
- var: (name?: any) => VarTsDsl;
2369
+ typeofExpr: (expr: TypeOfExpr) => TypeOfExprTsDsl; /** Creates a variable declaration (`var`). */
2370
+ var: (name?: NodeName | undefined) => VarTsDsl;
2371
2371
  };
2372
2372
  type DollarTsDsl = {
2373
2373
  /**
@@ -2778,6 +2778,7 @@ interface RequestOptions$6<TData = unknown, TResponseStyle extends ResponseStyle
2778
2778
  url: Url;
2779
2779
  }
2780
2780
  interface ResolvedRequestOptions$4<TResponseStyle extends ResponseStyle$3 = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions$6<unknown, TResponseStyle, ThrowOnError, Url> {
2781
+ headers: HttpHeaders;
2781
2782
  serializedBody?: string;
2782
2783
  }
2783
2784
  type RequestResult$6<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean, TResponseStyle extends ResponseStyle$3 = 'fields'> = Promise<ThrowOnError extends true ? TResponseStyle extends 'data' ? TData extends Record<string, unknown> ? TData[keyof TData] : TData : {
@@ -2984,6 +2985,7 @@ interface RequestOptions$4<TData = unknown, TResponseStyle extends ResponseStyle
2984
2985
  url: Url;
2985
2986
  }
2986
2987
  interface ResolvedRequestOptions$3<TResponseStyle extends ResponseStyle$2 = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions$4<unknown, TResponseStyle, ThrowOnError, Url> {
2988
+ headers: Headers;
2987
2989
  serializedBody?: string;
2988
2990
  }
2989
2991
  type RequestResult$4<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean, TResponseStyle extends ResponseStyle$2 = 'fields'> = ThrowOnError extends true ? Promise<TResponseStyle extends 'data' ? TData extends Record<string, unknown> ? TData[keyof TData] : TData : {
@@ -3104,6 +3106,7 @@ interface RequestOptions$3<TData = unknown, ThrowOnError extends boolean = boole
3104
3106
  url: Url;
3105
3107
  }
3106
3108
  interface ResolvedRequestOptions$2<ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions$3<unknown, ThrowOnError, Url> {
3109
+ headers: Headers;
3107
3110
  serializedBody?: string;
3108
3111
  }
3109
3112
  type RequestResult$3<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean> = ThrowOnError extends true ? Promise<{
@@ -3368,6 +3371,7 @@ interface RequestOptions$1<TData = unknown, TResponseStyle extends ResponseStyle
3368
3371
  url: Url;
3369
3372
  }
3370
3373
  interface ResolvedRequestOptions$1<TResponseStyle extends ResponseStyle$1 = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions$1<unknown, TResponseStyle, ThrowOnError, Url> {
3374
+ headers: Headers;
3371
3375
  serializedBody?: string;
3372
3376
  }
3373
3377
  type RequestResult$1<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean, TResponseStyle extends ResponseStyle$1 = 'fields'> = ThrowOnError extends true ? Promise<TResponseStyle extends 'data' ? TData extends Record<string, unknown> ? TData[keyof TData] : TData : {
@@ -3600,6 +3604,7 @@ interface RequestOptions<TData = unknown, TResponseStyle extends ResponseStyle =
3600
3604
  url: Url;
3601
3605
  }
3602
3606
  interface ResolvedRequestOptions<TResponseStyle extends ResponseStyle = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions<unknown, TResponseStyle, ThrowOnError, Url> {
3607
+ headers: Headers;
3603
3608
  serializedBody?: string;
3604
3609
  }
3605
3610
  type RequestResult<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean, TResponseStyle extends ResponseStyle = 'fields'> = ThrowOnError extends true ? Promise<TResponseStyle extends 'data' ? TData extends Record<string, unknown> ? TData[keyof TData] : TData : {
@@ -9561,6 +9566,8 @@ type ValidatorArgs = {
9561
9566
  type TypeOptions = {
9562
9567
  types: {
9563
9568
  infer: NamingOptions & FeatureToggle;
9569
+ input: NamingOptions & FeatureToggle;
9570
+ output: NamingOptions & FeatureToggle;
9564
9571
  };
9565
9572
  };
9566
9573
  /**
@@ -9860,8 +9867,7 @@ interface IntersectionResolverContext extends BaseContext {
9860
9867
  };
9861
9868
  parentSchema: IR$1.SchemaObject;
9862
9869
  schema: IR$1.SchemaObject;
9863
- walk: Walker<ZodResult, ZodPlugin['Instance']>;
9864
- walkerCtx: SchemaVisitorContext<ZodPlugin['Instance']>;
9870
+ schemas: ReadonlyArray<IR$1.SchemaObject>;
9865
9871
  }
9866
9872
  interface NeverResolverContext extends BaseContext {
9867
9873
  /**
@@ -10033,8 +10039,6 @@ interface UnionResolverContext extends BaseContext {
10033
10039
  parentSchema: IR$1.SchemaObject;
10034
10040
  schema: IR$1.SchemaObject;
10035
10041
  schemas: ReadonlyArray<IR$1.SchemaObject>;
10036
- walk: Walker<ZodResult, ZodPlugin['Instance']>;
10037
- walkerCtx: SchemaVisitorContext<ZodPlugin['Instance']>;
10038
10042
  }
10039
10043
  interface UnknownResolverContext extends BaseContext {
10040
10044
  /**
@@ -10229,6 +10233,66 @@ type UserConfig$1 = Plugin$1.Name<'zod'> & Plugin$1.Hooks & Plugin$1.UserComment
10229
10233
  */
10230
10234
  name?: NameTransformer;
10231
10235
  };
10236
+ /**
10237
+ * Configuration for `input` types.
10238
+ *
10239
+ * Can be:
10240
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
10241
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
10242
+ * - `object`: Full configuration object
10243
+ *
10244
+ * @default false
10245
+ */
10246
+ input?: boolean | NameTransformer | {
10247
+ /**
10248
+ * Casing convention for generated names.
10249
+ *
10250
+ * @default 'PascalCase'
10251
+ */
10252
+ case?: Casing;
10253
+ /**
10254
+ * Whether this feature is enabled.
10255
+ *
10256
+ * @default true
10257
+ */
10258
+ enabled?: boolean;
10259
+ /**
10260
+ * Naming pattern for generated names.
10261
+ *
10262
+ * @default '{{name}}ZodInput'
10263
+ */
10264
+ name?: NameTransformer;
10265
+ };
10266
+ /**
10267
+ * Configuration for `output` types.
10268
+ *
10269
+ * Can be:
10270
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
10271
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
10272
+ * - `object`: Full configuration object
10273
+ *
10274
+ * @default false
10275
+ */
10276
+ output?: boolean | NameTransformer | {
10277
+ /**
10278
+ * Casing convention for generated names.
10279
+ *
10280
+ * @default 'PascalCase'
10281
+ */
10282
+ case?: Casing;
10283
+ /**
10284
+ * Whether this feature is enabled.
10285
+ *
10286
+ * @default true
10287
+ */
10288
+ enabled?: boolean;
10289
+ /**
10290
+ * Naming pattern for generated names.
10291
+ *
10292
+ * @default '{{name}}ZodOutput'
10293
+ */
10294
+ name?: NameTransformer;
10295
+ };
10232
10296
  };
10233
10297
  };
10234
10298
  /**
@@ -10331,6 +10395,66 @@ type UserConfig$1 = Plugin$1.Name<'zod'> & Plugin$1.Hooks & Plugin$1.UserComment
10331
10395
  */
10332
10396
  name?: NameTransformer;
10333
10397
  };
10398
+ /**
10399
+ * Configuration for `input` types.
10400
+ *
10401
+ * Can be:
10402
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
10403
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
10404
+ * - `object`: Full configuration object
10405
+ *
10406
+ * @default false
10407
+ */
10408
+ input?: boolean | NameTransformer | {
10409
+ /**
10410
+ * Casing convention for generated names.
10411
+ *
10412
+ * @default 'PascalCase'
10413
+ */
10414
+ case?: Casing;
10415
+ /**
10416
+ * Whether this feature is enabled.
10417
+ *
10418
+ * @default true
10419
+ */
10420
+ enabled?: boolean;
10421
+ /**
10422
+ * Naming pattern for generated names.
10423
+ *
10424
+ * @default '{{name}}BodyZodInput'
10425
+ */
10426
+ name?: NameTransformer;
10427
+ };
10428
+ /**
10429
+ * Configuration for `output` types.
10430
+ *
10431
+ * Can be:
10432
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
10433
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
10434
+ * - `object`: Full configuration object
10435
+ *
10436
+ * @default false
10437
+ */
10438
+ output?: boolean | NameTransformer | {
10439
+ /**
10440
+ * Casing convention for generated names.
10441
+ *
10442
+ * @default 'PascalCase'
10443
+ */
10444
+ case?: Casing;
10445
+ /**
10446
+ * Whether this feature is enabled.
10447
+ *
10448
+ * @default true
10449
+ */
10450
+ enabled?: boolean;
10451
+ /**
10452
+ * Naming pattern for generated names.
10453
+ *
10454
+ * @default '{{name}}BodyZodOutput'
10455
+ */
10456
+ name?: NameTransformer;
10457
+ };
10334
10458
  };
10335
10459
  };
10336
10460
  /**
@@ -10410,6 +10534,66 @@ type UserConfig$1 = Plugin$1.Name<'zod'> & Plugin$1.Hooks & Plugin$1.UserComment
10410
10534
  */
10411
10535
  name?: NameTransformer;
10412
10536
  };
10537
+ /**
10538
+ * Configuration for `input` types.
10539
+ *
10540
+ * Can be:
10541
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
10542
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
10543
+ * - `object`: Full configuration object
10544
+ *
10545
+ * @default false
10546
+ */
10547
+ input?: boolean | NameTransformer | {
10548
+ /**
10549
+ * Casing convention for generated names.
10550
+ *
10551
+ * @default 'PascalCase'
10552
+ */
10553
+ case?: Casing;
10554
+ /**
10555
+ * Whether this feature is enabled.
10556
+ *
10557
+ * @default true
10558
+ */
10559
+ enabled?: boolean;
10560
+ /**
10561
+ * Naming pattern for generated names.
10562
+ *
10563
+ * @default '{{name}}HeadersZodInput'
10564
+ */
10565
+ name?: NameTransformer;
10566
+ };
10567
+ /**
10568
+ * Configuration for `output` types.
10569
+ *
10570
+ * Can be:
10571
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
10572
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
10573
+ * - `object`: Full configuration object
10574
+ *
10575
+ * @default false
10576
+ */
10577
+ output?: boolean | NameTransformer | {
10578
+ /**
10579
+ * Casing convention for generated names.
10580
+ *
10581
+ * @default 'PascalCase'
10582
+ */
10583
+ case?: Casing;
10584
+ /**
10585
+ * Whether this feature is enabled.
10586
+ *
10587
+ * @default true
10588
+ */
10589
+ enabled?: boolean;
10590
+ /**
10591
+ * Naming pattern for generated names.
10592
+ *
10593
+ * @default '{{name}}HeadersZodOutput'
10594
+ */
10595
+ name?: NameTransformer;
10596
+ };
10413
10597
  };
10414
10598
  };
10415
10599
  /**
@@ -10483,35 +10667,95 @@ type UserConfig$1 = Plugin$1.Name<'zod'> & Plugin$1.Hooks & Plugin$1.UserComment
10483
10667
  */
10484
10668
  name?: NameTransformer;
10485
10669
  };
10486
- };
10487
- };
10488
- /**
10489
- * Configuration for request query parameters Zod schemas.
10490
- *
10491
- * Can be:
10492
- * - `boolean`: Shorthand for `{ enabled: boolean }`
10493
- * - `string` or `function`: Shorthand for `{ name: string | function }`
10494
- * - `object`: Full configuration object
10495
- *
10496
- * @default true
10497
- */
10498
- query?: boolean | NameTransformer | {
10499
- /**
10500
- * Casing convention for generated names.
10501
- *
10502
- * @default 'camelCase'
10503
- */
10504
- case?: Casing;
10505
- /**
10506
- * Whether this feature is enabled.
10507
- *
10508
- * @default true
10509
- */
10510
- enabled?: boolean;
10511
- /**
10512
- * Naming pattern for generated names.
10513
- *
10514
- * @default 'z{{name}}Query'
10670
+ /**
10671
+ * Configuration for `input` types.
10672
+ *
10673
+ * Can be:
10674
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
10675
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
10676
+ * - `object`: Full configuration object
10677
+ *
10678
+ * @default false
10679
+ */
10680
+ input?: boolean | NameTransformer | {
10681
+ /**
10682
+ * Casing convention for generated names.
10683
+ *
10684
+ * @default 'PascalCase'
10685
+ */
10686
+ case?: Casing;
10687
+ /**
10688
+ * Whether this feature is enabled.
10689
+ *
10690
+ * @default true
10691
+ */
10692
+ enabled?: boolean;
10693
+ /**
10694
+ * Naming pattern for generated names.
10695
+ *
10696
+ * @default '{{name}}PathZodInput'
10697
+ */
10698
+ name?: NameTransformer;
10699
+ };
10700
+ /**
10701
+ * Configuration for `output` types.
10702
+ *
10703
+ * Can be:
10704
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
10705
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
10706
+ * - `object`: Full configuration object
10707
+ *
10708
+ * @default false
10709
+ */
10710
+ output?: boolean | NameTransformer | {
10711
+ /**
10712
+ * Casing convention for generated names.
10713
+ *
10714
+ * @default 'PascalCase'
10715
+ */
10716
+ case?: Casing;
10717
+ /**
10718
+ * Whether this feature is enabled.
10719
+ *
10720
+ * @default true
10721
+ */
10722
+ enabled?: boolean;
10723
+ /**
10724
+ * Naming pattern for generated names.
10725
+ *
10726
+ * @default '{{name}}PathZodOutput'
10727
+ */
10728
+ name?: NameTransformer;
10729
+ };
10730
+ };
10731
+ };
10732
+ /**
10733
+ * Configuration for request query parameters Zod schemas.
10734
+ *
10735
+ * Can be:
10736
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
10737
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
10738
+ * - `object`: Full configuration object
10739
+ *
10740
+ * @default true
10741
+ */
10742
+ query?: boolean | NameTransformer | {
10743
+ /**
10744
+ * Casing convention for generated names.
10745
+ *
10746
+ * @default 'camelCase'
10747
+ */
10748
+ case?: Casing;
10749
+ /**
10750
+ * Whether this feature is enabled.
10751
+ *
10752
+ * @default true
10753
+ */
10754
+ enabled?: boolean;
10755
+ /**
10756
+ * Naming pattern for generated names.
10757
+ *
10758
+ * @default 'z{{name}}Query'
10515
10759
  */
10516
10760
  name?: NameTransformer;
10517
10761
  /**
@@ -10550,6 +10794,66 @@ type UserConfig$1 = Plugin$1.Name<'zod'> & Plugin$1.Hooks & Plugin$1.UserComment
10550
10794
  */
10551
10795
  name?: NameTransformer;
10552
10796
  };
10797
+ /**
10798
+ * Configuration for `input` types.
10799
+ *
10800
+ * Can be:
10801
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
10802
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
10803
+ * - `object`: Full configuration object
10804
+ *
10805
+ * @default false
10806
+ */
10807
+ input?: boolean | NameTransformer | {
10808
+ /**
10809
+ * Casing convention for generated names.
10810
+ *
10811
+ * @default 'PascalCase'
10812
+ */
10813
+ case?: Casing;
10814
+ /**
10815
+ * Whether this feature is enabled.
10816
+ *
10817
+ * @default true
10818
+ */
10819
+ enabled?: boolean;
10820
+ /**
10821
+ * Naming pattern for generated names.
10822
+ *
10823
+ * @default '{{name}}QueryZodInput'
10824
+ */
10825
+ name?: NameTransformer;
10826
+ };
10827
+ /**
10828
+ * Configuration for `output` types.
10829
+ *
10830
+ * Can be:
10831
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
10832
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
10833
+ * - `object`: Full configuration object
10834
+ *
10835
+ * @default false
10836
+ */
10837
+ output?: boolean | NameTransformer | {
10838
+ /**
10839
+ * Casing convention for generated names.
10840
+ *
10841
+ * @default 'PascalCase'
10842
+ */
10843
+ case?: Casing;
10844
+ /**
10845
+ * Whether this feature is enabled.
10846
+ *
10847
+ * @default true
10848
+ */
10849
+ enabled?: boolean;
10850
+ /**
10851
+ * Naming pattern for generated names.
10852
+ *
10853
+ * @default '{{name}}QueryZodOutput'
10854
+ */
10855
+ name?: NameTransformer;
10856
+ };
10553
10857
  };
10554
10858
  };
10555
10859
  /**
@@ -10614,6 +10918,66 @@ type UserConfig$1 = Plugin$1.Name<'zod'> & Plugin$1.Hooks & Plugin$1.UserComment
10614
10918
  */
10615
10919
  name?: NameTransformer;
10616
10920
  };
10921
+ /**
10922
+ * Configuration for `input` types.
10923
+ *
10924
+ * Can be:
10925
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
10926
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
10927
+ * - `object`: Full configuration object
10928
+ *
10929
+ * @default false
10930
+ */
10931
+ input?: boolean | NameTransformer | {
10932
+ /**
10933
+ * Casing convention for generated names.
10934
+ *
10935
+ * @default 'PascalCase'
10936
+ */
10937
+ case?: Casing;
10938
+ /**
10939
+ * Whether this feature is enabled.
10940
+ *
10941
+ * @default true
10942
+ */
10943
+ enabled?: boolean;
10944
+ /**
10945
+ * Naming pattern for generated names.
10946
+ *
10947
+ * @default '{{name}}DataZodInput'
10948
+ */
10949
+ name?: NameTransformer;
10950
+ };
10951
+ /**
10952
+ * Configuration for `output` types.
10953
+ *
10954
+ * Can be:
10955
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
10956
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
10957
+ * - `object`: Full configuration object
10958
+ *
10959
+ * @default false
10960
+ */
10961
+ output?: boolean | NameTransformer | {
10962
+ /**
10963
+ * Casing convention for generated names.
10964
+ *
10965
+ * @default 'PascalCase'
10966
+ */
10967
+ case?: Casing;
10968
+ /**
10969
+ * Whether this feature is enabled.
10970
+ *
10971
+ * @default true
10972
+ */
10973
+ enabled?: boolean;
10974
+ /**
10975
+ * Naming pattern for generated names.
10976
+ *
10977
+ * @default '{{name}}DataZodOutput'
10978
+ */
10979
+ name?: NameTransformer;
10980
+ };
10617
10981
  };
10618
10982
  };
10619
10983
  /**
@@ -10684,6 +11048,66 @@ type UserConfig$1 = Plugin$1.Name<'zod'> & Plugin$1.Hooks & Plugin$1.UserComment
10684
11048
  */
10685
11049
  name?: NameTransformer;
10686
11050
  };
11051
+ /**
11052
+ * Configuration for `input` types.
11053
+ *
11054
+ * Can be:
11055
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
11056
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
11057
+ * - `object`: Full configuration object
11058
+ *
11059
+ * @default false
11060
+ */
11061
+ input?: boolean | NameTransformer | {
11062
+ /**
11063
+ * Casing convention for generated names.
11064
+ *
11065
+ * @default 'PascalCase'
11066
+ */
11067
+ case?: Casing;
11068
+ /**
11069
+ * Whether this feature is enabled.
11070
+ *
11071
+ * @default true
11072
+ */
11073
+ enabled?: boolean;
11074
+ /**
11075
+ * Naming pattern for generated names.
11076
+ *
11077
+ * @default '{{name}}ResponseZodInput'
11078
+ */
11079
+ name?: NameTransformer;
11080
+ };
11081
+ /**
11082
+ * Configuration for `output` types.
11083
+ *
11084
+ * Can be:
11085
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
11086
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
11087
+ * - `object`: Full configuration object
11088
+ *
11089
+ * @default false
11090
+ */
11091
+ output?: boolean | NameTransformer | {
11092
+ /**
11093
+ * Casing convention for generated names.
11094
+ *
11095
+ * @default 'PascalCase'
11096
+ */
11097
+ case?: Casing;
11098
+ /**
11099
+ * Whether this feature is enabled.
11100
+ *
11101
+ * @default true
11102
+ */
11103
+ enabled?: boolean;
11104
+ /**
11105
+ * Naming pattern for generated names.
11106
+ *
11107
+ * @default '{{name}}ResponseZodOutput'
11108
+ */
11109
+ name?: NameTransformer;
11110
+ };
10687
11111
  };
10688
11112
  };
10689
11113
  /**
@@ -10697,12 +11121,57 @@ type UserConfig$1 = Plugin$1.Name<'zod'> & Plugin$1.Hooks & Plugin$1.UserComment
10697
11121
  *
10698
11122
  * Can be:
10699
11123
  * - `boolean`: Shorthand for `{ enabled: boolean }`
10700
- * - `string` or `function`: Shorthand for `{ name: string | function }`
10701
11124
  * - `object`: Full configuration object
10702
11125
  *
10703
11126
  * @default false
10704
11127
  */
10705
- infer?: boolean | NameTransformer | {
11128
+ infer?: boolean | {
11129
+ /**
11130
+ * Casing convention for generated names.
11131
+ *
11132
+ * @default 'PascalCase'
11133
+ */
11134
+ case?: Casing;
11135
+ /**
11136
+ * Whether this feature is enabled.
11137
+ *
11138
+ * @default true
11139
+ */
11140
+ enabled?: boolean;
11141
+ };
11142
+ /**
11143
+ * Configuration for `input` types.
11144
+ *
11145
+ * Can be:
11146
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
11147
+ * - `object`: Full configuration object
11148
+ *
11149
+ * @default false
11150
+ */
11151
+ input?: boolean | {
11152
+ /**
11153
+ * Casing convention for generated names.
11154
+ *
11155
+ * @default 'PascalCase'
11156
+ */
11157
+ case?: Casing;
11158
+ /**
11159
+ * Whether this feature is enabled.
11160
+ *
11161
+ * @default true
11162
+ */
11163
+ enabled?: boolean;
11164
+ };
11165
+ /**
11166
+ * Configuration for `output` types.
11167
+ *
11168
+ * Can be:
11169
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
11170
+ * - `object`: Full configuration object
11171
+ *
11172
+ * @default false
11173
+ */
11174
+ output?: boolean | {
10706
11175
  /**
10707
11176
  * Casing convention for generated names.
10708
11177
  *
@@ -10784,6 +11253,66 @@ type UserConfig$1 = Plugin$1.Name<'zod'> & Plugin$1.Hooks & Plugin$1.UserComment
10784
11253
  */
10785
11254
  name?: NameTransformer;
10786
11255
  };
11256
+ /**
11257
+ * Configuration for `input` types.
11258
+ *
11259
+ * Can be:
11260
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
11261
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
11262
+ * - `object`: Full configuration object
11263
+ *
11264
+ * @default false
11265
+ */
11266
+ input?: boolean | NameTransformer | {
11267
+ /**
11268
+ * Casing convention for generated names.
11269
+ *
11270
+ * @default 'PascalCase'
11271
+ */
11272
+ case?: Casing;
11273
+ /**
11274
+ * Whether this feature is enabled.
11275
+ *
11276
+ * @default true
11277
+ */
11278
+ enabled?: boolean;
11279
+ /**
11280
+ * Naming pattern for generated names.
11281
+ *
11282
+ * @default '{{name}}WebhookRequestZodInput'
11283
+ */
11284
+ name?: NameTransformer;
11285
+ };
11286
+ /**
11287
+ * Configuration for `output` types.
11288
+ *
11289
+ * Can be:
11290
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
11291
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
11292
+ * - `object`: Full configuration object
11293
+ *
11294
+ * @default false
11295
+ */
11296
+ output?: boolean | NameTransformer | {
11297
+ /**
11298
+ * Casing convention for generated names.
11299
+ *
11300
+ * @default 'PascalCase'
11301
+ */
11302
+ case?: Casing;
11303
+ /**
11304
+ * Whether this feature is enabled.
11305
+ *
11306
+ * @default true
11307
+ */
11308
+ enabled?: boolean;
11309
+ /**
11310
+ * Naming pattern for generated names.
11311
+ *
11312
+ * @default '{{name}}WebhookRequestZodOutput'
11313
+ */
11314
+ name?: NameTransformer;
11315
+ };
10787
11316
  };
10788
11317
  };
10789
11318
  };
@@ -10812,6 +11341,12 @@ type Config = Plugin$1.Name<'zod'> & Plugin$1.Hooks & Plugin$1.Comments & Plugin
10812
11341
  types: {
10813
11342
  /** Configuration for `infer` types. */infer: FeatureToggle & {
10814
11343
  /** Casing convention for generated names. */case: Casing;
11344
+ }; /** Configuration for `input` types. */
11345
+ input: FeatureToggle & {
11346
+ /** Casing convention for generated names. */case: Casing;
11347
+ }; /** Configuration for `output` types. */
11348
+ output: FeatureToggle & {
11349
+ /** Casing convention for generated names. */case: Casing;
10815
11350
  };
10816
11351
  }; /** Configuration for webhook-specific Zod schemas. */
10817
11352
  webhooks: NamingOptions & FeatureToggle & TypeOptions;
@@ -10824,7 +11359,7 @@ type ZodPlugin = DefinePlugin$1<UserConfig$1, Config, IApi>;
10824
11359
  *
10825
11360
  * @param userConfig User provided {@link UserConfig} configuration(s).
10826
11361
  */
10827
- declare function createClient(userConfig?: LazyOrAsync<MaybeArray<UserConfig>>, logger?: any): Promise<ReadonlyArray<Context>>;
11362
+ declare function createClient(userConfig?: LazyOrAsync<MaybeArray<UserConfig>>, logger?: Logger$1): Promise<ReadonlyArray<Context>>;
10828
11363
  //#endregion
10829
11364
  //#region src/config/plugins.d.ts
10830
11365
  /**