@hey-api/openapi-ts 0.95.0 → 0.96.0

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, Logger as Logger$1, Node, NodeName, NodeNameSanitizer, NodeRelationship, NodeScope, Ref, RenderContext, Renderer, Symbol } from "@hey-api/codegen-core";
2
+ import { AnalysisContext, BindingKind, ExportModule, File, FromRef, ImportModule, Language, Logger, 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(): ts.Identifier;
632
+ toAst(): any;
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' = "heyapi.node";
1159
+ readonly '~brand': any;
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,27 +1225,7 @@ 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(): 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;
1228
+ toAst(): any;
1249
1229
  }
1250
1230
  //#endregion
1251
1231
  //#region src/ts-dsl/utils/lazy.d.ts
@@ -1330,8 +1310,8 @@ declare function createLiteral(value: TsLiteralValue, leadingComments?: Readonly
1330
1310
  //#region src/ts-dsl/expr/prefix.d.ts
1331
1311
  type PrefixExpr = string | MaybeTsDsl<ts.Expression>;
1332
1312
  type PrefixOp = ts.PrefixUnaryOperator;
1333
- declare const Mixed$36: abstract new () => TsDsl<ts.PrefixUnaryExpression>;
1334
- declare class PrefixTsDsl extends Mixed$36 {
1313
+ declare const Mixed$37: abstract new () => TsDsl<ts.PrefixUnaryExpression>;
1314
+ declare class PrefixTsDsl extends Mixed$37 {
1335
1315
  readonly '~dsl' = "PrefixTsDsl";
1336
1316
  protected _expr?: PrefixExpr;
1337
1317
  protected _op?: PrefixOp;
@@ -1366,25 +1346,13 @@ declare class NoteTsDsl extends TsDsl<ts.Node> {
1366
1346
  analyze(ctx: AnalysisContext): void;
1367
1347
  add(lines: NoteLines): this;
1368
1348
  apply<T extends ts.Node>(node: T): T;
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;
1349
+ toAst(): any;
1382
1350
  }
1383
1351
  //#endregion
1384
1352
  //#region src/ts-dsl/decl/field.d.ts
1385
1353
  type FieldType = NodeName | TypeTsDsl;
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 {
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 {
1388
1356
  readonly '~dsl' = "FieldTsDsl";
1389
1357
  readonly nameSanitizer: (name: string) => string;
1390
1358
  protected _type?: TypeTsDsl;
@@ -1396,8 +1364,8 @@ declare class FieldTsDsl extends Mixed$34 {
1396
1364
  }
1397
1365
  //#endregion
1398
1366
  //#region src/ts-dsl/decl/init.d.ts
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 {
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 {
1401
1369
  readonly '~dsl' = "InitTsDsl";
1402
1370
  constructor(fn?: (i: InitTsDsl) => void);
1403
1371
  analyze(ctx: AnalysisContext): void;
@@ -1406,8 +1374,8 @@ declare class InitTsDsl extends Mixed$33 {
1406
1374
  //#endregion
1407
1375
  //#region src/ts-dsl/decl/class.d.ts
1408
1376
  type Body = Array<MaybeTsDsl<ts.ClassElement | ts.Node>>;
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 {
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 {
1411
1379
  readonly '~dsl' = "ClassTsDsl";
1412
1380
  readonly nameSanitizer: (name: string) => string;
1413
1381
  protected baseClass?: Ref<NodeName>;
@@ -1434,8 +1402,8 @@ declare class ClassTsDsl extends Mixed$32 {
1434
1402
  }
1435
1403
  //#endregion
1436
1404
  //#region src/ts-dsl/decl/decorator.d.ts
1437
- declare const Mixed$31: MixinCtor<abstract new () => TsDsl<ts.Decorator>, ArgsMethods>;
1438
- declare class DecoratorTsDsl extends Mixed$31 {
1405
+ declare const Mixed$33: MixinCtor<abstract new () => TsDsl<ts.Decorator>, ArgsMethods>;
1406
+ declare class DecoratorTsDsl extends Mixed$33 {
1439
1407
  readonly '~dsl' = "DecoratorTsDsl";
1440
1408
  readonly nameSanitizer: (name: string) => string;
1441
1409
  constructor(name: NodeName, ...args: ReadonlyArray<string | MaybeTsDsl<ts.Expression>>);
@@ -1446,8 +1414,8 @@ declare class DecoratorTsDsl extends Mixed$31 {
1446
1414
  //#region src/ts-dsl/decl/member.d.ts
1447
1415
  type Value$2 = string | number | MaybeTsDsl<ts.Expression>;
1448
1416
  type ValueFn$1 = Value$2 | ((m: EnumMemberTsDsl) => void);
1449
- declare const Mixed$30: MixinCtor<abstract new () => TsDsl<ts.EnumMember>, DocMethods>;
1450
- declare class EnumMemberTsDsl extends Mixed$30 {
1417
+ declare const Mixed$32: MixinCtor<abstract new () => TsDsl<ts.EnumMember>, DocMethods>;
1418
+ declare class EnumMemberTsDsl extends Mixed$32 {
1451
1419
  readonly '~dsl' = "EnumMemberTsDsl";
1452
1420
  private _value?;
1453
1421
  constructor(name: NodeName, value?: ValueFn$1);
@@ -1460,8 +1428,8 @@ declare class EnumMemberTsDsl extends Mixed$30 {
1460
1428
  //#region src/ts-dsl/decl/enum.d.ts
1461
1429
  type Value$1 = string | number | MaybeTsDsl<ts.Expression>;
1462
1430
  type ValueFn = Value$1 | ((m: EnumMemberTsDsl) => void);
1463
- declare const Mixed$29: MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.EnumDeclaration>, ExportMethods>, DocMethods>, ConstMethods>;
1464
- declare class EnumTsDsl extends Mixed$29 {
1431
+ declare const Mixed$31: MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.EnumDeclaration>, ExportMethods>, DocMethods>, ConstMethods>;
1432
+ declare class EnumTsDsl extends Mixed$31 {
1465
1433
  readonly '~dsl' = "EnumTsDsl";
1466
1434
  readonly nameSanitizer: (name: string) => string;
1467
1435
  private _members;
@@ -1476,8 +1444,8 @@ declare class EnumTsDsl extends Mixed$29 {
1476
1444
  //#endregion
1477
1445
  //#region src/ts-dsl/decl/func.d.ts
1478
1446
  type FuncMode = 'arrow' | 'decl' | 'expr';
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 {
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 {
1481
1449
  readonly '~dsl' = "FuncTsDsl";
1482
1450
  readonly nameSanitizer: (name: string) => string;
1483
1451
  protected mode?: FuncMode;
@@ -1507,8 +1475,8 @@ declare const FuncTsDsl: {
1507
1475
  type FuncTsDsl<M extends FuncMode = 'arrow'> = ImplFuncTsDsl<M>;
1508
1476
  //#endregion
1509
1477
  //#region src/ts-dsl/decl/getter.d.ts
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 {
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 {
1512
1480
  readonly '~dsl' = "GetterTsDsl";
1513
1481
  readonly nameSanitizer: (name: string) => string;
1514
1482
  constructor(name: NodeName, fn?: (g: GetterTsDsl) => void);
@@ -1517,11 +1485,11 @@ declare class GetterTsDsl extends Mixed$27 {
1517
1485
  }
1518
1486
  //#endregion
1519
1487
  //#region src/ts-dsl/decl/pattern.d.ts
1520
- declare const Mixed$26: abstract new () => TsDsl<ts.BindingName>;
1488
+ declare const Mixed$28: abstract new () => TsDsl<ts.BindingName>;
1521
1489
  /**
1522
1490
  * Builds binding patterns (e.g., `{ foo, bar }`, `[a, b, ...rest]`).
1523
1491
  */
1524
- declare class PatternTsDsl extends Mixed$26 {
1492
+ declare class PatternTsDsl extends Mixed$28 {
1525
1493
  readonly '~dsl' = "PatternTsDsl";
1526
1494
  protected pattern?: {
1527
1495
  kind: 'array';
@@ -1555,8 +1523,8 @@ declare class PatternTsDsl extends Mixed$26 {
1555
1523
  }
1556
1524
  //#endregion
1557
1525
  //#region src/ts-dsl/decl/setter.d.ts
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 {
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 {
1560
1528
  readonly '~dsl' = "SetterTsDsl";
1561
1529
  readonly nameSanitizer: (name: string) => string;
1562
1530
  constructor(name: NodeName, fn?: (s: SetterTsDsl) => void);
@@ -1578,8 +1546,8 @@ interface LayoutMethods extends Node {
1578
1546
  //#endregion
1579
1547
  //#region src/ts-dsl/expr/array.d.ts
1580
1548
  type ArrayExpr = string | number | boolean | MaybeTsDsl<ts.Expression>;
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 {
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 {
1583
1551
  readonly '~dsl' = "ArrayTsDsl";
1584
1552
  protected _elements: Array<MaybeTsDsl<ts.Expression>>;
1585
1553
  constructor(...exprs: Array<ArrayExpr>);
@@ -1593,18 +1561,18 @@ declare class ArrayTsDsl extends Mixed$24 {
1593
1561
  //#endregion
1594
1562
  //#region src/ts-dsl/expr/expr.d.ts
1595
1563
  type Id = NodeName | MaybeTsDsl<ts.Expression>;
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 {
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 {
1598
1566
  readonly '~dsl' = "ExprTsDsl";
1599
1567
  protected _exprInput: Ref<Id>;
1600
1568
  constructor(id: Id);
1601
1569
  analyze(ctx: AnalysisContext): void;
1602
- toAst(): ts.Expression;
1570
+ toAst(): any;
1603
1571
  }
1604
1572
  //#endregion
1605
1573
  //#region src/ts-dsl/expr/id.d.ts
1606
- declare const Mixed$22: abstract new () => TsDsl<ts.Identifier>;
1607
- declare class IdTsDsl extends Mixed$22 {
1574
+ declare const Mixed$24: abstract new () => TsDsl<ts.Identifier>;
1575
+ declare class IdTsDsl extends Mixed$24 {
1608
1576
  readonly '~dsl' = "IdTsDsl";
1609
1577
  constructor(name: string);
1610
1578
  analyze(ctx: AnalysisContext): void;
@@ -1661,13 +1629,13 @@ declare const ts$1: {
1661
1629
  };
1662
1630
  //#endregion
1663
1631
  //#region src/ts-dsl/expr/literal.d.ts
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 {
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 {
1666
1634
  readonly '~dsl' = "LiteralTsDsl";
1667
1635
  protected value: ts$1.LiteralValue;
1668
1636
  constructor(value: ts$1.LiteralValue);
1669
1637
  analyze(ctx: AnalysisContext): void;
1670
- toAst(): ts.BigIntLiteral | ts.TrueLiteral | ts.FalseLiteral | ts.NullLiteral | ts.NumericLiteral | ts.PrefixUnaryExpression | ts.StringLiteral;
1638
+ toAst(): any;
1671
1639
  }
1672
1640
  //#endregion
1673
1641
  //#region src/ts-dsl/mixins/hint.d.ts
@@ -1698,8 +1666,8 @@ type Meta = {
1698
1666
  kind: 'spread';
1699
1667
  name?: undefined;
1700
1668
  };
1701
- declare const Mixed$20: MixinCtor<abstract new () => TsDsl<ts.ObjectLiteralElementLike>, DocMethods>;
1702
- declare class ObjectPropTsDsl extends Mixed$20 {
1669
+ declare const Mixed$22: MixinCtor<abstract new () => TsDsl<ts.ObjectLiteralElementLike>, DocMethods>;
1670
+ declare class ObjectPropTsDsl extends Mixed$22 {
1703
1671
  readonly '~dsl' = "ObjectPropTsDsl";
1704
1672
  protected _value?: Ref<ObjectPropValue>;
1705
1673
  protected _meta: Meta;
@@ -1709,7 +1677,7 @@ declare class ObjectPropTsDsl extends Mixed$20 {
1709
1677
  get kind(): ObjectPropKind;
1710
1678
  get propName(): string | undefined;
1711
1679
  value(value: ObjectPropValue): this;
1712
- toAst(): ts.MethodDeclaration | ts.GetAccessorDeclaration | ts.SetAccessorDeclaration | ts.PropertyAssignment | ts.ShorthandPropertyAssignment | ts.SpreadAssignment;
1680
+ toAst(): any;
1713
1681
  $validate(): asserts this is this & {
1714
1682
  _value: ObjectPropValue;
1715
1683
  kind: ObjectPropKind;
@@ -1720,8 +1688,8 @@ declare class ObjectPropTsDsl extends Mixed$20 {
1720
1688
  //#region src/ts-dsl/expr/object.d.ts
1721
1689
  type Expr = NodeName | MaybeTsDsl<ts.Expression>;
1722
1690
  type Stmt = NodeName | MaybeTsDsl<ts.Statement>;
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 {
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 {
1725
1693
  readonly '~dsl' = "ObjectTsDsl";
1726
1694
  protected _props: Map<string, ObjectPropTsDsl>;
1727
1695
  protected _spreadCounter: number;
@@ -1753,8 +1721,8 @@ declare class ObjectTsDsl extends Mixed$19 {
1753
1721
  //#region src/ts-dsl/expr/regexp.d.ts
1754
1722
  type RegexFlag = 'g' | 'i' | 'm' | 's' | 'u' | 'y';
1755
1723
  type RegexFlags<Avail extends string = RegexFlag> = '' | { [K in Avail]: `${K}${RegexFlags<Exclude<Avail, K>>}` }[Avail];
1756
- declare const Mixed$18: abstract new () => TsDsl<ts.RegularExpressionLiteral>;
1757
- declare class RegExpTsDsl extends Mixed$18 {
1724
+ declare const Mixed$20: abstract new () => TsDsl<ts.RegularExpressionLiteral>;
1725
+ declare class RegExpTsDsl extends Mixed$20 {
1758
1726
  readonly '~dsl' = "RegExpTsDsl";
1759
1727
  protected pattern: string;
1760
1728
  protected flags?: RegexFlags;
@@ -1763,9 +1731,21 @@ declare class RegExpTsDsl extends Mixed$18 {
1763
1731
  toAst(): ts.RegularExpressionLiteral;
1764
1732
  }
1765
1733
  //#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
1766
1746
  //#region src/ts-dsl/expr/ternary.d.ts
1767
- declare const Mixed$17: abstract new () => TsDsl<ts.ConditionalExpression>;
1768
- declare class TernaryTsDsl extends Mixed$17 {
1747
+ declare const Mixed$18: abstract new () => TsDsl<ts.ConditionalExpression>;
1748
+ declare class TernaryTsDsl extends Mixed$18 {
1769
1749
  readonly '~dsl' = "TernaryTsDsl";
1770
1750
  protected _condition?: string | MaybeTsDsl<ts.Expression>;
1771
1751
  protected _then?: string | MaybeTsDsl<ts.Expression>;
@@ -1790,12 +1770,12 @@ declare class TernaryTsDsl extends Mixed$17 {
1790
1770
  declare class NewlineTsDsl extends TsDsl<ts.Identifier> {
1791
1771
  readonly '~dsl' = "NewlineTsDsl";
1792
1772
  analyze(ctx: AnalysisContext): void;
1793
- toAst(): ts.Identifier;
1773
+ toAst(): any;
1794
1774
  }
1795
1775
  //#endregion
1796
1776
  //#region src/ts-dsl/stmt/block.d.ts
1797
- declare const Mixed$16: MixinCtor<MixinCtor<abstract new () => TsDsl<ts.Block>, LayoutMethods>, DoMethods>;
1798
- declare class BlockTsDsl extends Mixed$16 {
1777
+ declare const Mixed$17: MixinCtor<MixinCtor<abstract new () => TsDsl<ts.Block>, LayoutMethods>, DoMethods>;
1778
+ declare class BlockTsDsl extends Mixed$17 {
1799
1779
  readonly '~dsl' = "BlockTsDsl";
1800
1780
  constructor(...items: Array<DoExpr>);
1801
1781
  analyze(ctx: AnalysisContext): void;
@@ -1803,8 +1783,8 @@ declare class BlockTsDsl extends Mixed$16 {
1803
1783
  }
1804
1784
  //#endregion
1805
1785
  //#region src/ts-dsl/stmt/var.d.ts
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 {
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 {
1808
1788
  readonly '~dsl' = "VarTsDsl";
1809
1789
  readonly nameSanitizer: (name: string) => string;
1810
1790
  protected kind: ts.NodeFlags;
@@ -1827,8 +1807,8 @@ declare class VarTsDsl extends Mixed$15 {
1827
1807
  type ForMode = 'for' | 'in' | 'of';
1828
1808
  type ForCondition = MaybeTsDsl<ts.Expression>;
1829
1809
  type ForIterable = MaybeTsDsl<ts.Expression>;
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 {
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 {
1832
1812
  readonly '~dsl' = "ForTsDsl";
1833
1813
  protected _await?: boolean;
1834
1814
  protected _condition?: ForCondition;
@@ -1869,6 +1849,26 @@ declare const ForTsDsl: {
1869
1849
  } & typeof ImplForTsDsl;
1870
1850
  type ForTsDsl<M extends ForMode = 'for'> = ImplForTsDsl<M>;
1871
1851
  //#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: ts.Expression | TsDsl<ts.Expression> | NodeName) => ExprTsDsl) & {
2270
+ declare const $: ((id: any) => 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: 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 (`{ ... }`). */
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 (`{ ... }`). */
2276
2276
  block: (...args: ConstructorParameters<typeof BlockTsDsl>) => BlockTsDsl; /** Creates a function or method call expression (e.g., `fn(arg)`). */
2277
- call: (callee: CallCallee, ...args: (CallCallee | undefined)[]) => CallTsDsl; /** Creates a class declaration or expression. */
2277
+ call: (callee: any, ...args: any[]) => CallTsDsl; /** Creates a class declaration or expression. */
2278
2278
  class: (name: NodeName) => ClassTsDsl; /** Creates a constant variable declaration (`const`). */
2279
- const: (name?: NodeName | undefined) => VarTsDsl; /** Creates a postfix decrement expression (`i--`). */
2279
+ const: (name?: any) => 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: ts.Expression | TsDsl<ts.Expression> | NodeName) => ExprTsDsl; /** Creates a field declaration in a class or object. */
2284
+ expr: (id: any) => 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: ts.Expression | TsDsl<ts.Expression> | NodeName) => ExprT
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?: IfCondition | undefined) => IfTsDsl; /** Creates a postfix increment expression (`i++`). */
2304
+ if: (condition?: any) => 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?: NodeName | undefined) => VarTsDsl; /** Creates a literal value (e.g., string, number, boolean). */
2308
+ let: (name?: any) => 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: NewExpr, ...args: (NewExpr | undefined)[]) => NewTsDsl; /** Creates a newline (for formatting purposes). */
2313
+ new: (expr: any, ...args: any[]) => 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: ParamName, fn?: ParamFn | undefined) => ParamTsDsl; /** Creates a pattern for destructuring or matching. */
2318
+ param: (name: any, 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: ts.Expression | TsDsl<ts.Expression> | NodeName) => ExprT
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?: ReturnExpr | undefined) => ReturnTsDsl; /** Creates a setter method declaration. */
2341
+ return: (expr?: any) => 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: SpreadExpr) => SpreadTsDsl; /** Wraps an expression or statement-like value into a `StmtTsDsl`. */
2343
+ spread: (expr: any) => 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?: TemplatePart | undefined) => TemplateTsDsl; /** Creates a ternary conditional expression (if ? then : else). */
2345
+ template: (value?: any) => 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: ts.Expression | TsDsl<ts.Expression> | NodeName) => ExprT
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: NodeName | ts.Identifier) => TypeAttrTsDsl; /** Creates a basic type reference or type expression (e.g., Foo or Foo<T>). */
2353
+ attr: (right: any) => 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?: NodeName | undefined) => TypeMappedTsDsl; /** Creates a type literal node (e.g., { foo: string }). */
2359
+ mapped: (name?: any) => 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?: 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). */
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). */
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: TypeOfExpr) => TypeOfExprTsDsl; /** Creates a variable declaration (`var`). */
2370
- var: (name?: NodeName | undefined) => VarTsDsl;
2369
+ typeofExpr: (expr: any) => TypeOfExprTsDsl; /** Creates a variable declaration (`var`). */
2370
+ var: (name?: any) => VarTsDsl;
2371
2371
  };
2372
2372
  type DollarTsDsl = {
2373
2373
  /**
@@ -4116,7 +4116,7 @@ interface BaseTransformer extends DollarTsDsl {
4116
4116
  type ExpressionTransformer = (ctx: BaseTransformer & {
4117
4117
  /** @deprecated Use `plugin` instead and access the config via `plugin.config` */config: Omit<UserConfig$16, 'name'>;
4118
4118
  dataExpression?: ts.Expression | ReturnType<typeof $.attr | typeof $.expr> | string;
4119
- }) => Array<TsDsl<ts.Expression>> | undefined;
4119
+ }) => Array<TsDsl<ts.Expression> | ReturnType<typeof $.return>> | undefined;
4120
4120
  /**
4121
4121
  * Returns the TypeScript type node for a schema with a specific format.
4122
4122
  * If undefined is returned, the default type will be used.
@@ -10824,7 +10824,7 @@ type ZodPlugin = DefinePlugin$1<UserConfig$1, Config, IApi>;
10824
10824
  *
10825
10825
  * @param userConfig User provided {@link UserConfig} configuration(s).
10826
10826
  */
10827
- declare function createClient(userConfig?: LazyOrAsync<MaybeArray<UserConfig>>, logger?: Logger$1): Promise<ReadonlyArray<Context>>;
10827
+ declare function createClient(userConfig?: LazyOrAsync<MaybeArray<UserConfig>>, logger?: any): Promise<ReadonlyArray<Context>>;
10828
10828
  //#endregion
10829
10829
  //#region src/config/plugins.d.ts
10830
10830
  /**