@hey-api/openapi-ts 0.97.0 → 0.97.2

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-KzipN7UT.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
@@ -1233,6 +1253,7 @@ type LazyThunk<T extends ts.Node> = (ctx: TsDslContext) => TsDsl<T>;
1233
1253
  declare class LazyTsDsl<T extends ts.Node = ts.Node> extends TsDsl<T> {
1234
1254
  readonly '~dsl' = "LazyTsDsl";
1235
1255
  private _thunk;
1256
+ private _result?;
1236
1257
  constructor(thunk: LazyThunk<T>);
1237
1258
  analyze(ctx: AnalysisContext): void;
1238
1259
  toResult(): TsDsl<T>;
@@ -1310,8 +1331,8 @@ declare function createLiteral(value: TsLiteralValue, leadingComments?: Readonly
1310
1331
  //#region src/ts-dsl/expr/prefix.d.ts
1311
1332
  type PrefixExpr = string | MaybeTsDsl<ts.Expression>;
1312
1333
  type PrefixOp = ts.PrefixUnaryOperator;
1313
- declare const Mixed$37: abstract new () => TsDsl<ts.PrefixUnaryExpression>;
1314
- declare class PrefixTsDsl extends Mixed$37 {
1334
+ declare const Mixed$36: abstract new () => TsDsl<ts.PrefixUnaryExpression>;
1335
+ declare class PrefixTsDsl extends Mixed$36 {
1315
1336
  readonly '~dsl' = "PrefixTsDsl";
1316
1337
  protected _expr?: PrefixExpr;
1317
1338
  protected _op?: PrefixOp;
@@ -1346,13 +1367,25 @@ declare class NoteTsDsl extends TsDsl<ts.Node> {
1346
1367
  analyze(ctx: AnalysisContext): void;
1347
1368
  add(lines: NoteLines): this;
1348
1369
  apply<T extends ts.Node>(node: T): T;
1349
- toAst(): any;
1370
+ toAst(): ts.Identifier;
1371
+ }
1372
+ //#endregion
1373
+ //#region src/ts-dsl/expr/template.d.ts
1374
+ type TemplatePart = NodeName | MaybeTsDsl<ts.Expression>;
1375
+ declare const Mixed$35: abstract new () => TsDsl<ts.TemplateExpression | ts.NoSubstitutionTemplateLiteral>;
1376
+ declare class TemplateTsDsl extends Mixed$35 {
1377
+ readonly '~dsl' = "TemplateTsDsl";
1378
+ protected parts: Array<Ref<TemplatePart>>;
1379
+ constructor(value?: TemplatePart);
1380
+ analyze(ctx: AnalysisContext): void;
1381
+ add(value: TemplatePart): this;
1382
+ toAst(): ts.TemplateExpression | ts.NoSubstitutionTemplateLiteral;
1350
1383
  }
1351
1384
  //#endregion
1352
1385
  //#region src/ts-dsl/decl/field.d.ts
1353
1386
  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 {
1387
+ 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>;
1388
+ declare class FieldTsDsl extends Mixed$34 {
1356
1389
  readonly '~dsl' = "FieldTsDsl";
1357
1390
  readonly nameSanitizer: (name: string) => string;
1358
1391
  protected _type?: TypeTsDsl;
@@ -1364,8 +1397,8 @@ declare class FieldTsDsl extends Mixed$36 {
1364
1397
  }
1365
1398
  //#endregion
1366
1399
  //#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 {
1400
+ declare const Mixed$33: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ConstructorDeclaration>, PublicMethods>, ProtectedMethods>, PrivateMethods>, ParamMethods>, DocMethods>, DoMethods>, DecoratorMethods>;
1401
+ declare class InitTsDsl extends Mixed$33 {
1369
1402
  readonly '~dsl' = "InitTsDsl";
1370
1403
  constructor(fn?: (i: InitTsDsl) => void);
1371
1404
  analyze(ctx: AnalysisContext): void;
@@ -1374,8 +1407,8 @@ declare class InitTsDsl extends Mixed$35 {
1374
1407
  //#endregion
1375
1408
  //#region src/ts-dsl/decl/class.d.ts
1376
1409
  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 {
1410
+ declare const Mixed$32: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ClassDeclaration>, TypeParamsMethods>, ExportMethods>, DocMethods>, DefaultMethods>, DecoratorMethods>, AbstractMethods>;
1411
+ declare class ClassTsDsl extends Mixed$32 {
1379
1412
  readonly '~dsl' = "ClassTsDsl";
1380
1413
  readonly nameSanitizer: (name: string) => string;
1381
1414
  protected baseClass?: Ref<NodeName>;
@@ -1402,8 +1435,8 @@ declare class ClassTsDsl extends Mixed$34 {
1402
1435
  }
1403
1436
  //#endregion
1404
1437
  //#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 {
1438
+ declare const Mixed$31: MixinCtor<abstract new () => TsDsl<ts.Decorator>, ArgsMethods>;
1439
+ declare class DecoratorTsDsl extends Mixed$31 {
1407
1440
  readonly '~dsl' = "DecoratorTsDsl";
1408
1441
  readonly nameSanitizer: (name: string) => string;
1409
1442
  constructor(name: NodeName, ...args: ReadonlyArray<string | MaybeTsDsl<ts.Expression>>);
@@ -1414,8 +1447,8 @@ declare class DecoratorTsDsl extends Mixed$33 {
1414
1447
  //#region src/ts-dsl/decl/member.d.ts
1415
1448
  type Value$2 = string | number | MaybeTsDsl<ts.Expression>;
1416
1449
  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 {
1450
+ declare const Mixed$30: MixinCtor<abstract new () => TsDsl<ts.EnumMember>, DocMethods>;
1451
+ declare class EnumMemberTsDsl extends Mixed$30 {
1419
1452
  readonly '~dsl' = "EnumMemberTsDsl";
1420
1453
  private _value?;
1421
1454
  constructor(name: NodeName, value?: ValueFn$1);
@@ -1428,8 +1461,8 @@ declare class EnumMemberTsDsl extends Mixed$32 {
1428
1461
  //#region src/ts-dsl/decl/enum.d.ts
1429
1462
  type Value$1 = string | number | MaybeTsDsl<ts.Expression>;
1430
1463
  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 {
1464
+ declare const Mixed$29: MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.EnumDeclaration>, ExportMethods>, DocMethods>, ConstMethods>;
1465
+ declare class EnumTsDsl extends Mixed$29 {
1433
1466
  readonly '~dsl' = "EnumTsDsl";
1434
1467
  readonly nameSanitizer: (name: string) => string;
1435
1468
  private _members;
@@ -1444,9 +1477,10 @@ declare class EnumTsDsl extends Mixed$31 {
1444
1477
  //#endregion
1445
1478
  //#region src/ts-dsl/decl/func.d.ts
1446
1479
  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 {
1480
+ 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>;
1481
+ declare class ImplFuncTsDsl<M extends FuncMode = 'arrow'> extends Mixed$28 {
1449
1482
  readonly '~dsl' = "FuncTsDsl";
1483
+ readonly '~mode': M;
1450
1484
  readonly nameSanitizer: (name: string) => string;
1451
1485
  protected mode?: FuncMode;
1452
1486
  constructor();
@@ -1475,8 +1509,8 @@ declare const FuncTsDsl: {
1475
1509
  type FuncTsDsl<M extends FuncMode = 'arrow'> = ImplFuncTsDsl<M>;
1476
1510
  //#endregion
1477
1511
  //#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 {
1512
+ 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>;
1513
+ declare class GetterTsDsl extends Mixed$27 {
1480
1514
  readonly '~dsl' = "GetterTsDsl";
1481
1515
  readonly nameSanitizer: (name: string) => string;
1482
1516
  constructor(name: NodeName, fn?: (g: GetterTsDsl) => void);
@@ -1485,11 +1519,11 @@ declare class GetterTsDsl extends Mixed$29 {
1485
1519
  }
1486
1520
  //#endregion
1487
1521
  //#region src/ts-dsl/decl/pattern.d.ts
1488
- declare const Mixed$28: abstract new () => TsDsl<ts.BindingName>;
1522
+ declare const Mixed$26: abstract new () => TsDsl<ts.BindingName>;
1489
1523
  /**
1490
1524
  * Builds binding patterns (e.g., `{ foo, bar }`, `[a, b, ...rest]`).
1491
1525
  */
1492
- declare class PatternTsDsl extends Mixed$28 {
1526
+ declare class PatternTsDsl extends Mixed$26 {
1493
1527
  readonly '~dsl' = "PatternTsDsl";
1494
1528
  protected pattern?: {
1495
1529
  kind: 'array';
@@ -1523,8 +1557,8 @@ declare class PatternTsDsl extends Mixed$28 {
1523
1557
  }
1524
1558
  //#endregion
1525
1559
  //#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 {
1560
+ 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>;
1561
+ declare class SetterTsDsl extends Mixed$25 {
1528
1562
  readonly '~dsl' = "SetterTsDsl";
1529
1563
  readonly nameSanitizer: (name: string) => string;
1530
1564
  constructor(name: NodeName, fn?: (s: SetterTsDsl) => void);
@@ -1546,8 +1580,8 @@ interface LayoutMethods extends Node {
1546
1580
  //#endregion
1547
1581
  //#region src/ts-dsl/expr/array.d.ts
1548
1582
  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 {
1583
+ declare const Mixed$24: MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ArrayLiteralExpression>, SpreadMethods>, LayoutMethods>, ExprMethods>, AsMethods>;
1584
+ declare class ArrayTsDsl extends Mixed$24 {
1551
1585
  readonly '~dsl' = "ArrayTsDsl";
1552
1586
  protected _elements: Array<MaybeTsDsl<ts.Expression>>;
1553
1587
  constructor(...exprs: Array<ArrayExpr>);
@@ -1561,18 +1595,18 @@ declare class ArrayTsDsl extends Mixed$26 {
1561
1595
  //#endregion
1562
1596
  //#region src/ts-dsl/expr/expr.d.ts
1563
1597
  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 {
1598
+ declare const Mixed$23: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.Expression>, TypeExprMethods>, SpreadMethods>, OperatorMethods>, ExprMethods>, AsMethods>;
1599
+ declare class ExprTsDsl extends Mixed$23 {
1566
1600
  readonly '~dsl' = "ExprTsDsl";
1567
1601
  protected _exprInput: Ref<Id>;
1568
1602
  constructor(id: Id);
1569
1603
  analyze(ctx: AnalysisContext): void;
1570
- toAst(): any;
1604
+ toAst(): ts.Expression;
1571
1605
  }
1572
1606
  //#endregion
1573
1607
  //#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 {
1608
+ declare const Mixed$22: abstract new () => TsDsl<ts.Identifier>;
1609
+ declare class IdTsDsl extends Mixed$22 {
1576
1610
  readonly '~dsl' = "IdTsDsl";
1577
1611
  constructor(name: string);
1578
1612
  analyze(ctx: AnalysisContext): void;
@@ -1629,13 +1663,13 @@ declare const ts$1: {
1629
1663
  };
1630
1664
  //#endregion
1631
1665
  //#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 {
1666
+ declare const Mixed$21: MixinCtor<abstract new () => TsDsl<ts.BigIntLiteral | ts.BooleanLiteral | ts.NullLiteral | ts.NumericLiteral | ts.PrefixUnaryExpression | ts.StringLiteral>, AsMethods>;
1667
+ declare class LiteralTsDsl extends Mixed$21 {
1634
1668
  readonly '~dsl' = "LiteralTsDsl";
1635
1669
  protected value: ts$1.LiteralValue;
1636
1670
  constructor(value: ts$1.LiteralValue);
1637
1671
  analyze(ctx: AnalysisContext): void;
1638
- toAst(): any;
1672
+ toAst(): ts.BigIntLiteral | ts.TrueLiteral | ts.FalseLiteral | ts.NullLiteral | ts.NumericLiteral | ts.PrefixUnaryExpression | ts.StringLiteral;
1639
1673
  }
1640
1674
  //#endregion
1641
1675
  //#region src/ts-dsl/mixins/hint.d.ts
@@ -1666,8 +1700,8 @@ type Meta = {
1666
1700
  kind: 'spread';
1667
1701
  name?: undefined;
1668
1702
  };
1669
- declare const Mixed$22: MixinCtor<abstract new () => TsDsl<ts.ObjectLiteralElementLike>, DocMethods>;
1670
- declare class ObjectPropTsDsl extends Mixed$22 {
1703
+ declare const Mixed$20: MixinCtor<abstract new () => TsDsl<ts.ObjectLiteralElementLike>, DocMethods>;
1704
+ declare class ObjectPropTsDsl extends Mixed$20 {
1671
1705
  readonly '~dsl' = "ObjectPropTsDsl";
1672
1706
  protected _value?: Ref<ObjectPropValue>;
1673
1707
  protected _meta: Meta;
@@ -1677,7 +1711,7 @@ declare class ObjectPropTsDsl extends Mixed$22 {
1677
1711
  get kind(): ObjectPropKind;
1678
1712
  get propName(): string | undefined;
1679
1713
  value(value: ObjectPropValue): this;
1680
- toAst(): any;
1714
+ toAst(): ts.MethodDeclaration | ts.GetAccessorDeclaration | ts.SetAccessorDeclaration | ts.PropertyAssignment | ts.ShorthandPropertyAssignment | ts.SpreadAssignment;
1681
1715
  $validate(): asserts this is this & {
1682
1716
  _value: ObjectPropValue;
1683
1717
  kind: ObjectPropKind;
@@ -1688,8 +1722,8 @@ declare class ObjectPropTsDsl extends Mixed$22 {
1688
1722
  //#region src/ts-dsl/expr/object.d.ts
1689
1723
  type Expr = NodeName | MaybeTsDsl<ts.Expression>;
1690
1724
  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 {
1725
+ declare const Mixed$19: MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ObjectLiteralExpression>, LayoutMethods>, HintMethods>, ExprMethods>, AsMethods>;
1726
+ declare class ObjectTsDsl extends Mixed$19 {
1693
1727
  readonly '~dsl' = "ObjectTsDsl";
1694
1728
  protected _props: Map<string, ObjectPropTsDsl>;
1695
1729
  protected _spreadCounter: number;
@@ -1721,8 +1755,8 @@ declare class ObjectTsDsl extends Mixed$21 {
1721
1755
  //#region src/ts-dsl/expr/regexp.d.ts
1722
1756
  type RegexFlag = 'g' | 'i' | 'm' | 's' | 'u' | 'y';
1723
1757
  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 {
1758
+ declare const Mixed$18: abstract new () => TsDsl<ts.RegularExpressionLiteral>;
1759
+ declare class RegExpTsDsl extends Mixed$18 {
1726
1760
  readonly '~dsl' = "RegExpTsDsl";
1727
1761
  protected pattern: string;
1728
1762
  protected flags?: RegexFlags;
@@ -1731,21 +1765,9 @@ declare class RegExpTsDsl extends Mixed$20 {
1731
1765
  toAst(): ts.RegularExpressionLiteral;
1732
1766
  }
1733
1767
  //#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
1768
  //#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 {
1769
+ declare const Mixed$17: abstract new () => TsDsl<ts.ConditionalExpression>;
1770
+ declare class TernaryTsDsl extends Mixed$17 {
1749
1771
  readonly '~dsl' = "TernaryTsDsl";
1750
1772
  protected _condition?: string | MaybeTsDsl<ts.Expression>;
1751
1773
  protected _then?: string | MaybeTsDsl<ts.Expression>;
@@ -1770,12 +1792,12 @@ declare class TernaryTsDsl extends Mixed$18 {
1770
1792
  declare class NewlineTsDsl extends TsDsl<ts.Identifier> {
1771
1793
  readonly '~dsl' = "NewlineTsDsl";
1772
1794
  analyze(ctx: AnalysisContext): void;
1773
- toAst(): any;
1795
+ toAst(): ts.Identifier;
1774
1796
  }
1775
1797
  //#endregion
1776
1798
  //#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 {
1799
+ declare const Mixed$16: MixinCtor<MixinCtor<abstract new () => TsDsl<ts.Block>, LayoutMethods>, DoMethods>;
1800
+ declare class BlockTsDsl extends Mixed$16 {
1779
1801
  readonly '~dsl' = "BlockTsDsl";
1780
1802
  constructor(...items: Array<DoExpr>);
1781
1803
  analyze(ctx: AnalysisContext): void;
@@ -1783,8 +1805,8 @@ declare class BlockTsDsl extends Mixed$17 {
1783
1805
  }
1784
1806
  //#endregion
1785
1807
  //#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 {
1808
+ declare const Mixed$15: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.VariableStatement>, ValueMethods>, PatternMethods>, HintMethods>, ExportMethods>, DocMethods>, DefaultMethods>;
1809
+ declare class VarTsDsl extends Mixed$15 {
1788
1810
  readonly '~dsl' = "VarTsDsl";
1789
1811
  readonly nameSanitizer: (name: string) => string;
1790
1812
  protected kind: ts.NodeFlags;
@@ -1807,8 +1829,8 @@ declare class VarTsDsl extends Mixed$16 {
1807
1829
  type ForMode = 'for' | 'in' | 'of';
1808
1830
  type ForCondition = MaybeTsDsl<ts.Expression>;
1809
1831
  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 {
1832
+ declare const Mixed$14: MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ForStatement>, LayoutMethods>, DoMethods>;
1833
+ declare class ImplForTsDsl<M extends ForMode = 'for'> extends Mixed$14 {
1812
1834
  readonly '~dsl' = "ForTsDsl";
1813
1835
  protected _await?: boolean;
1814
1836
  protected _condition?: ForCondition;
@@ -1849,26 +1871,6 @@ declare const ForTsDsl: {
1849
1871
  } & typeof ImplForTsDsl;
1850
1872
  type ForTsDsl<M extends ForMode = 'for'> = ImplForTsDsl<M>;
1851
1873
  //#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
1874
  //#region src/ts-dsl/stmt/stmt.d.ts
1873
1875
  declare const Mixed$13: abstract new () => TsDsl<ts.Statement>;
1874
1876
  declare class StmtTsDsl extends Mixed$13 {
@@ -2267,21 +2269,21 @@ declare const reserved: {
2267
2269
  };
2268
2270
  //#endregion
2269
2271
  //#region src/ts-dsl/index.d.ts
2270
- declare const $: ((id: any) => ExprTsDsl) & {
2272
+ declare const $: ((id: ts.Expression | TsDsl<ts.Expression> | NodeName) => ExprTsDsl) & {
2271
2273
  /** 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 (`{ ... }`). */
2274
+ as: (expr: AsExpr, type: AsType) => AsTsDsl; /** Creates a property access expression (e.g., `obj.foo`). */
2275
+ attr: (left: AttrLeft, right: NodeName) => AttrTsDsl; /** Creates an await expression (e.g., `await promise`). */
2276
+ await: (expr: AwaitExpr) => AwaitTsDsl; /** Creates a binary expression (e.g., `a + b`). */
2277
+ 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
2278
  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. */
2279
+ call: (callee: CallCallee, ...args: (CallCallee | undefined)[]) => CallTsDsl; /** Creates a class declaration or expression. */
2278
2280
  class: (name: NodeName) => ClassTsDsl; /** Creates a constant variable declaration (`const`). */
2279
- const: (name?: any) => VarTsDsl; /** Creates a postfix decrement expression (`i--`). */
2281
+ const: (name?: NodeName | undefined) => VarTsDsl; /** Creates a postfix decrement expression (`i--`). */
2280
2282
  dec: (expr?: PostfixExpr | undefined, op?: ts.PostfixUnaryOperator | undefined) => PostfixTsDsl; /** Creates a decorator expression (e.g., `@decorator`). */
2281
2283
  decorator: (name: NodeName, ...args: (string | ts.Expression | TsDsl<ts.Expression>)[]) => DecoratorTsDsl; /** Creates a JSDoc documentation block. */
2282
2284
  doc: (lines?: DocLines | undefined, fn?: DocFn | undefined) => DocTsDsl; /** Creates an enum declaration. */
2283
2285
  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. */
2286
+ expr: (id: ts.Expression | TsDsl<ts.Expression> | NodeName) => ExprTsDsl; /** Creates a field declaration in a class or object. */
2285
2287
  field: (name: NodeName, fn?: ((f: FieldTsDsl) => void) | undefined) => FieldTsDsl; /** Creates a for loop (for, for...of, for...in, or for await...of). */
2286
2288
  for: {
2287
2289
  (variableOrInit?: VarTsDsl): ForTsDsl<ForMode>;
@@ -2301,21 +2303,21 @@ declare const $: ((id: any) => ExprTsDsl) & {
2301
2303
  getter: (name: NodeName, fn?: ((g: GetterTsDsl) => void) | undefined) => GetterTsDsl; /** Creates a single-line comment (//). */
2302
2304
  hint: (lines?: HintLines | undefined, fn?: HintFn | undefined) => HintTsDsl; /** Creates an identifier (e.g., `foo`). */
2303
2305
  id: (name: string) => IdTsDsl; /** Creates an if statement. */
2304
- if: (condition?: any) => IfTsDsl; /** Creates a postfix increment expression (`i++`). */
2306
+ if: (condition?: IfCondition | undefined) => IfTsDsl; /** Creates a postfix increment expression (`i++`). */
2305
2307
  inc: (expr?: PostfixExpr | undefined, op?: ts.PostfixUnaryOperator | undefined) => PostfixTsDsl; /** Creates an initialization block or statement. */
2306
2308
  init: (fn?: ((i: InitTsDsl) => void) | undefined) => InitTsDsl; /** Creates a lazy, context-aware node with deferred evaluation. */
2307
2309
  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). */
2310
+ let: (name?: NodeName | undefined) => VarTsDsl; /** Creates a literal value (e.g., string, number, boolean). */
2309
2311
  literal: (value: TsLiteralValue) => LiteralTsDsl; /** Creates an enum member declaration. */
2310
2312
  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
2313
  method: (name: NodeName, fn?: ((m: MethodTsDsl) => void) | undefined) => MethodTsDsl; /** Creates a negation expression (`-x`). */
2312
2314
  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). */
2315
+ new: (expr: NewExpr, ...args: (NewExpr | undefined)[]) => NewTsDsl; /** Creates a newline (for formatting purposes). */
2314
2316
  newline: () => NewlineTsDsl; /** Creates a logical NOT expression (`!x`). */
2315
2317
  not: (expr?: PrefixExpr | undefined, op?: ts.PrefixUnaryOperator | undefined) => PrefixTsDsl; /** Creates a block comment (/* ... *\/). */
2316
2318
  note: (lines?: NoteLines | undefined, fn?: NoteFn | undefined) => NoteTsDsl; /** Creates an object literal expression. */
2317
2319
  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. */
2320
+ param: (name: ParamName, fn?: ParamFn | undefined) => ParamTsDsl; /** Creates a pattern for destructuring or matching. */
2319
2321
  pattern: () => PatternTsDsl; /** Creates a prefix unary expression (e.g., `-x`, `!x`, `~x`). */
2320
2322
  prefix: (expr?: PrefixExpr | undefined, op?: ts.PrefixUnaryOperator | undefined) => PrefixTsDsl; /** Creates an object literal property (e.g., `{ foo: bar }`). */
2321
2323
  prop: (meta: {
@@ -2338,11 +2340,11 @@ declare const $: ((id: any) => ExprTsDsl) & {
2338
2340
  name?: undefined;
2339
2341
  }) => ObjectPropTsDsl; /** Creates a regular expression literal (e.g., `/foo/gi`). */
2340
2342
  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. */
2343
+ return: (expr?: ReturnExpr | undefined) => ReturnTsDsl; /** Creates a setter method declaration. */
2342
2344
  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`. */
2345
+ spread: (expr: SpreadExpr) => SpreadTsDsl; /** Wraps an expression or statement-like value into a `StmtTsDsl`. */
2344
2346
  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). */
2347
+ template: (value?: TemplatePart | undefined) => TemplateTsDsl; /** Creates a ternary conditional expression (if ? then : else). */
2346
2348
  ternary: (condition?: string | ts.Expression | TsDsl<ts.Expression> | undefined) => TernaryTsDsl; /** Creates a throw statement. */
2347
2349
  throw: (error: string | ts.Expression | TsDsl<ts.Expression>, useNew?: boolean | undefined) => ThrowTsDsl; /** Creates a syntax token (e.g., `?`, `readonly`, `+`, `-`). */
2348
2350
  token: () => TokenTsDsl<never>; /** Creates a try/catch/finally statement. */
@@ -2350,24 +2352,24 @@ declare const $: ((id: any) => ExprTsDsl) & {
2350
2352
  type: ((name: NodeName, fn?: TypeExprFn | undefined) => TypeExprTsDsl) & {
2351
2353
  /** 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
2354
  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>). */
2355
+ attr: (right: NodeName | ts.Identifier) => TypeAttrTsDsl; /** Creates a basic type reference or type expression (e.g., Foo or Foo<T>). */
2354
2356
  expr: (name: NodeName, fn?: TypeExprFn | undefined) => TypeExprTsDsl; /** Converts a runtime value into a corresponding type expression node. */
2355
2357
  fromValue: (input: unknown) => TsDsl<ts.TypeNode>; /** Creates a function type node (e.g., `(a: string) => number`). */
2356
2358
  func: (...args: ConstructorParameters<typeof TypeFuncTsDsl>) => TypeFuncTsDsl; /** Creates an indexed-access type (e.g., `Foo<T>[K]`). */
2357
2359
  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
2360
  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 }). */
2361
+ mapped: (name?: NodeName | undefined) => TypeMappedTsDsl; /** Creates a type literal node (e.g., { foo: string }). */
2360
2362
  object: () => TypeObjectTsDsl; /** Creates a type operator node (e.g., `readonly T`, `keyof T`, `unique T`). */
2361
2363
  operator: () => TypeOperatorTsDsl; /** Represents a union type (e.g., `A | B | C`). */
2362
2364
  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). */
2365
+ param: (name?: NodeName | undefined, fn?: ((name: TypeParamTsDsl) => void) | undefined) => TypeParamTsDsl; /** Creates a type query node (e.g., `typeof Foo`). */
2366
+ query: (expr: TypeQueryExpr) => TypeQueryTsDsl; /** Builds a TypeScript template literal *type* (e.g., `${Foo}-${Bar}` as a type). */
2365
2367
  template: (value?: string | ts.TypeNode | TsDsl<ts.TypeNode> | undefined) => TypeTemplateTsDsl; /** Creates a tuple type (e.g., [A, B, C]). */
2366
2368
  tuple: (...args: ConstructorParameters<typeof TypeTupleTsDsl>) => TypeTupleTsDsl; /** Creates a named tuple element (e.g., `[resolver?: R]`). */
2367
2369
  tupleMember: (name: NodeName) => TypeTupleMemberTsDsl;
2368
2370
  }; /** Creates a `typeof` expression (e.g., `typeof value`). */
2369
- typeofExpr: (expr: any) => TypeOfExprTsDsl; /** Creates a variable declaration (`var`). */
2370
- var: (name?: any) => VarTsDsl;
2371
+ typeofExpr: (expr: TypeOfExpr) => TypeOfExprTsDsl; /** Creates a variable declaration (`var`). */
2372
+ var: (name?: NodeName | undefined) => VarTsDsl;
2371
2373
  };
2372
2374
  type DollarTsDsl = {
2373
2375
  /**
@@ -3674,7 +3676,7 @@ type HeyApiSchemasPlugin = DefinePlugin$1<UserConfig$18, UserConfig$18>;
3674
3676
  //#endregion
3675
3677
  //#region src/plugins/types.d.ts
3676
3678
  type PluginClientNames = '@hey-api/client-angular' | '@hey-api/client-axios' | '@hey-api/client-fetch' | '@hey-api/client-ky' | '@hey-api/client-next' | '@hey-api/client-nuxt' | '@hey-api/client-ofetch';
3677
- type PluginTransformerNames = '@hey-api/transformers';
3679
+ type PluginTransformerNames = '@hey-api/transformers' | 'valibot' | 'zod';
3678
3680
  type PluginValidatorNames = 'arktype' | 'valibot' | 'zod';
3679
3681
  //#endregion
3680
3682
  //#region src/plugins/@hey-api/sdk/examples/types.d.ts
@@ -3914,13 +3916,26 @@ type UserConfig$17 = Plugin$1.Name<'@hey-api/sdk'> & Plugin$1.Hooks & Plugin$1.U
3914
3916
  * convert for example ISO strings into Date objects. However, transformation
3915
3917
  * adds runtime overhead, so it's not recommended to use unless necessary.
3916
3918
  *
3917
- * You can customize the selected transformer output through its plugin. You
3918
- * can also set `transformer` to `true` to automatically choose the
3919
- * transformer from your defined plugins.
3919
+ * You can customize the transformer output through its plugin. You can also
3920
+ * set `transformer` to `true` to automatically choose the transformer from your
3921
+ * defined plugins.
3922
+ *
3923
+ * Ensure you have declared the selected library as a dependency to avoid
3924
+ * errors.
3920
3925
  *
3921
3926
  * @default false
3922
3927
  */
3923
- transformer?: PluginTransformerNames | boolean;
3928
+ transformer?: PluginTransformerNames | boolean | {
3929
+ /**
3930
+ * Transform response data before returning.
3931
+ *
3932
+ * Can be a transformer plugin name or boolean (true to auto-select, false
3933
+ * to disable).
3934
+ *
3935
+ * @default false
3936
+ */
3937
+ response?: PluginTransformerNames | boolean;
3938
+ };
3924
3939
  /**
3925
3940
  * Validate request and/or response data against schema before returning.
3926
3941
  * This is useful if you want to ensure the request and/or response conforms
@@ -4022,38 +4037,10 @@ type UserConfig$17 = Plugin$1.Name<'@hey-api/sdk'> & Plugin$1.Hooks & Plugin$1.U
4022
4037
  response?: 'body' | 'response';
4023
4038
  };
4024
4039
  type Config$14 = Plugin$1.Name<'@hey-api/sdk'> & Plugin$1.Hooks & Plugin$1.Comments & Plugin$1.Exports & {
4025
- /**
4026
- * Should the generated functions contain auth mechanisms? You may want to
4027
- * disable this option if you're handling auth yourself or defining it
4028
- * globally on the client and want to reduce the size of generated code.
4029
- *
4030
- * @default true
4031
- */
4032
- auth: boolean;
4033
- /**
4034
- * Use an internal client instance to send HTTP requests? This is useful if
4035
- * you don't want to manually pass the client to each SDK function.
4036
- *
4037
- * You can customize the selected client output through its plugin. You can
4038
- * also set `client` to `true` to automatically choose the client from your
4039
- * defined plugins. If we can't detect a client plugin when using `true`, we
4040
- * will default to `@hey-api/client-fetch`.
4041
- *
4042
- * @default true
4043
- */
4040
+ /** Should the generated functions contain auth mechanisms? */auth: boolean; /** Use an internal client instance to send HTTP requests? */
4044
4041
  client: PluginClientNames | false; /** Configuration for generating SDK code examples. */
4045
4042
  examples: ExamplesConfig; /** Define the structure of generated SDK operations. */
4046
- operations: OperationsConfig;
4047
- /**
4048
- * Define how request parameters are structured in generated SDK methods.
4049
- *
4050
- * - `'flat'` merges parameters into a single object.
4051
- * - `'grouped'` separates parameters by transport layer.
4052
- *
4053
- * Use `'flat'` for simpler calls or `'grouped'` for stricter typing and code clarity.
4054
- *
4055
- * @default 'grouped'
4056
- */
4043
+ operations: OperationsConfig; /** Define how request parameters are structured in generated SDK methods. */
4057
4044
  paramsStructure: 'flat' | 'grouped';
4058
4045
  /**
4059
4046
  * **This feature works only with the Fetch client**
@@ -4062,37 +4049,12 @@ type Config$14 = Plugin$1.Name<'@hey-api/sdk'> & Plugin$1.Hooks & Plugin$1.Comme
4062
4049
  *
4063
4050
  * @default 'fields'
4064
4051
  */
4065
- responseStyle: 'data' | 'fields';
4066
- /**
4067
- * Transform response data before returning. This is useful if you want to
4068
- * convert for example ISO strings into Date objects. However, transformation
4069
- * adds runtime overhead, so it's not recommended to use unless necessary.
4070
- *
4071
- * You can customize the selected transformer output through its plugin. You
4072
- * can also set `transformer` to `true` to automatically choose the
4073
- * transformer from your defined plugins.
4074
- *
4075
- * @default false
4076
- */
4077
- transformer: PluginTransformerNames | false;
4078
- /**
4079
- * Validate request and/or response data against schema before returning.
4080
- * This is useful if you want to ensure the request and/or response conforms
4081
- * to a desired shape. However, validation adds runtime overhead, so it's
4082
- * not recommended to use unless absolutely necessary.
4083
- */
4052
+ responseStyle: 'data' | 'fields'; /** Transform response data before returning. */
4053
+ transformer: {
4054
+ /** The transformer plugin to use for response transformation, or false to disable. */response: PluginTransformerNames | false;
4055
+ }; /** Validate request and/or response data against schema before returning. */
4084
4056
  validator: {
4085
- /**
4086
- * The validator plugin to use for request validation, or false to disable.
4087
- *
4088
- * @default false
4089
- */
4090
- request: PluginValidatorNames | false;
4091
- /**
4092
- * The validator plugin to use for response validation, or false to disable.
4093
- *
4094
- * @default false
4095
- */
4057
+ /** The validator plugin to use for request validation, or false to disable. */request: PluginValidatorNames | false; /** The validator plugin to use for response validation, or false to disable. */
4096
4058
  response: PluginValidatorNames | false;
4097
4059
  };
4098
4060
  /**
@@ -5199,10 +5161,49 @@ type UserConfig$13 = Plugin$1.Name<'@tanstack/angular-query-experimental'> & Plu
5199
5161
  */
5200
5162
  name?: NameTransformer;
5201
5163
  };
5164
+ /**
5165
+ * Configuration for generated mutation keys.
5166
+ *
5167
+ * See {@link https://tanstack.com/query/v5/docs/framework/angular/reference/functions/injectMutation injectMutation}
5168
+ *
5169
+ * Can be:
5170
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
5171
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
5172
+ * - `object`: Full configuration object
5173
+ *
5174
+ * @default false
5175
+ */
5176
+ mutationKeys?: boolean | NameTransformer | {
5177
+ /**
5178
+ * Casing convention for generated names.
5179
+ *
5180
+ * @default 'camelCase'
5181
+ */
5182
+ case?: Casing;
5183
+ /**
5184
+ * Whether this feature is enabled.
5185
+ *
5186
+ * @default true
5187
+ */
5188
+ enabled?: boolean;
5189
+ /**
5190
+ * Naming pattern for generated names.
5191
+ *
5192
+ * @default '{{name}}MutationKey'
5193
+ */
5194
+ name?: NameTransformer;
5195
+ /**
5196
+ * Whether to include operation tags in mutation keys.
5197
+ * This will make mutation keys larger but provides better cache invalidation capabilities.
5198
+ *
5199
+ * @default false
5200
+ */
5201
+ tags?: boolean;
5202
+ };
5202
5203
  /**
5203
5204
  * Configuration for generated mutation options helpers.
5204
5205
  *
5205
- * See {@link https://tanstack.com/query/v5/docs/framework/angular/reference/useMutation}
5206
+ * See {@link https://tanstack.com/query/v5/docs/framework/angular/reference/functions/injectMutation injectMutation}
5206
5207
  *
5207
5208
  * Can be:
5208
5209
  * - `boolean`: Shorthand for `{ enabled: boolean }`
@@ -5256,7 +5257,7 @@ type UserConfig$13 = Plugin$1.Name<'@tanstack/angular-query-experimental'> & Plu
5256
5257
  * Naming pattern for generated names.
5257
5258
  *
5258
5259
  * @default '{{name}}Mutation'
5259
- * @see https://tanstack.com/query/v5/docs/framework/angular/reference/useMutation
5260
+ * @see https://tanstack.com/query/v5/docs/framework/angular/reference/functions/injectMutation
5260
5261
  */
5261
5262
  name?: NameTransformer;
5262
5263
  };
@@ -5403,6 +5404,9 @@ type Config$10 = Plugin$1.Name<'@tanstack/angular-query-experimental'> & Plugin$
5403
5404
  }; /** Resolved configuration for generated infinite query options helpers. */
5404
5405
  infiniteQueryOptions: NamingOptions & FeatureToggle & {
5405
5406
  /** Custom function to generate metadata for the operation. */meta: (operation: IR$1.OperationObject) => Record<string, unknown>;
5407
+ }; /** Resolved configuration for generated mutation keys. */
5408
+ mutationKeys: NamingOptions & FeatureToggle & {
5409
+ /** Whether to include operation tags in mutation keys. */tags: boolean;
5406
5410
  }; /** Resolved configuration for generated mutation options helpers. */
5407
5411
  mutationOptions: NamingOptions & FeatureToggle & {
5408
5412
  /** Whether to export generated symbols. */exported: boolean; /** Custom function to generate metadata for the operation. */
@@ -5525,6 +5529,45 @@ type UserConfig$12 = Plugin$1.Name<'@tanstack/preact-query'> & Plugin$1.Hooks &
5525
5529
  */
5526
5530
  name?: NameTransformer;
5527
5531
  };
5532
+ /**
5533
+ * Configuration for generated mutation keys.
5534
+ *
5535
+ * See {@link https://tanstack.com/query/v5/docs/framework/preact/reference/functions/useMutation useMutation}
5536
+ *
5537
+ * Can be:
5538
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
5539
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
5540
+ * - `object`: Full configuration object
5541
+ *
5542
+ * @default false
5543
+ */
5544
+ mutationKeys?: boolean | NameTransformer | {
5545
+ /**
5546
+ * Casing convention for generated names.
5547
+ *
5548
+ * @default 'camelCase'
5549
+ */
5550
+ case?: Casing;
5551
+ /**
5552
+ * Whether this feature is enabled.
5553
+ *
5554
+ * @default true
5555
+ */
5556
+ enabled?: boolean;
5557
+ /**
5558
+ * Naming pattern for generated names.
5559
+ *
5560
+ * @default '{{name}}MutationKey'
5561
+ */
5562
+ name?: NameTransformer;
5563
+ /**
5564
+ * Whether to include operation tags in mutation keys.
5565
+ * This will make mutation keys larger but provides better cache invalidation capabilities.
5566
+ *
5567
+ * @default false
5568
+ */
5569
+ tags?: boolean;
5570
+ };
5528
5571
  /**
5529
5572
  * Configuration for generated mutation options helpers.
5530
5573
  *
@@ -5835,6 +5878,9 @@ type Config$9 = Plugin$1.Name<'@tanstack/preact-query'> & Plugin$1.Hooks & Plugi
5835
5878
  }; /** Resolved configuration for generated infinite query options helpers. */
5836
5879
  infiniteQueryOptions: NamingOptions & FeatureToggle & {
5837
5880
  /** Custom function to generate metadata for the operation. */meta: (operation: IR$1.OperationObject) => Record<string, unknown>;
5881
+ }; /** Resolved configuration for generated mutation keys. */
5882
+ mutationKeys: NamingOptions & FeatureToggle & {
5883
+ /** Whether to include operation tags in mutation keys. */tags: boolean;
5838
5884
  }; /** Resolved configuration for generated mutation options helpers. */
5839
5885
  mutationOptions: NamingOptions & FeatureToggle & {
5840
5886
  /** Whether to export generated symbols. */exported: boolean; /** Custom function to generate metadata for the operation. */
@@ -5960,6 +6006,45 @@ type UserConfig$11 = Plugin$1.Name<'@tanstack/react-query'> & Plugin$1.Hooks & P
5960
6006
  */
5961
6007
  name?: NameTransformer;
5962
6008
  };
6009
+ /**
6010
+ * Configuration for generated mutation keys.
6011
+ *
6012
+ * See {@link https://tanstack.com/query/v5/docs/framework/react/reference/useMutation useMutation}
6013
+ *
6014
+ * Can be:
6015
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
6016
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
6017
+ * - `object`: Full configuration object
6018
+ *
6019
+ * @default false
6020
+ */
6021
+ mutationKeys?: boolean | NameTransformer | {
6022
+ /**
6023
+ * Casing convention for generated names.
6024
+ *
6025
+ * @default 'camelCase'
6026
+ */
6027
+ case?: Casing;
6028
+ /**
6029
+ * Whether this feature is enabled.
6030
+ *
6031
+ * @default true
6032
+ */
6033
+ enabled?: boolean;
6034
+ /**
6035
+ * Naming pattern for generated names.
6036
+ *
6037
+ * @default '{{name}}MutationKey'
6038
+ */
6039
+ name?: NameTransformer;
6040
+ /**
6041
+ * Whether to include operation tags in mutation keys.
6042
+ * This will make mutation keys larger but provides better cache invalidation capabilities.
6043
+ *
6044
+ * @default false
6045
+ */
6046
+ tags?: boolean;
6047
+ };
5963
6048
  /**
5964
6049
  * Configuration for generated mutation options helpers.
5965
6050
  *
@@ -6270,6 +6355,9 @@ type Config$8 = Plugin$1.Name<'@tanstack/react-query'> & Plugin$1.Hooks & Plugin
6270
6355
  }; /** Resolved configuration for generated infinite query options helpers. */
6271
6356
  infiniteQueryOptions: NamingOptions & FeatureToggle & {
6272
6357
  /** Custom function to generate metadata for the operation. */meta: (operation: IR$1.OperationObject) => Record<string, unknown>;
6358
+ }; /** Resolved configuration for generated mutation keys. */
6359
+ mutationKeys: NamingOptions & FeatureToggle & {
6360
+ /** Whether to include operation tags in mutation keys. */tags: boolean;
6273
6361
  }; /** Resolved configuration for generated mutation options helpers. */
6274
6362
  mutationOptions: NamingOptions & FeatureToggle & {
6275
6363
  /** Whether to export generated symbols. */exported: boolean; /** Custom function to generate metadata for the operation. */
@@ -6393,6 +6481,45 @@ type UserConfig$10 = Plugin$1.Name<'@tanstack/solid-query'> & Plugin$1.Hooks & P
6393
6481
  */
6394
6482
  name?: NameTransformer;
6395
6483
  };
6484
+ /**
6485
+ * Configuration for generated mutation keys.
6486
+ *
6487
+ * See {@link https://tanstack.com/query/v5/docs/framework/solid/reference/createMutation}
6488
+ *
6489
+ * Can be:
6490
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
6491
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
6492
+ * - `object`: Full configuration object
6493
+ *
6494
+ * @default false
6495
+ */
6496
+ mutationKeys?: boolean | NameTransformer | {
6497
+ /**
6498
+ * Casing convention for generated names.
6499
+ *
6500
+ * @default 'camelCase'
6501
+ */
6502
+ case?: Casing;
6503
+ /**
6504
+ * Whether this feature is enabled.
6505
+ *
6506
+ * @default true
6507
+ */
6508
+ enabled?: boolean;
6509
+ /**
6510
+ * Naming pattern for generated names.
6511
+ *
6512
+ * @default '{{name}}MutationKey'
6513
+ */
6514
+ name?: NameTransformer;
6515
+ /**
6516
+ * Whether to include operation tags in mutation keys.
6517
+ * This will make mutation keys larger but provides better cache invalidation capabilities.
6518
+ *
6519
+ * @default false
6520
+ */
6521
+ tags?: boolean;
6522
+ };
6396
6523
  /**
6397
6524
  * Configuration for generated mutation options helpers.
6398
6525
  *
@@ -6597,6 +6724,9 @@ type Config$7 = Plugin$1.Name<'@tanstack/solid-query'> & Plugin$1.Hooks & Plugin
6597
6724
  }; /** Resolved configuration for generated infinite query options helpers. */
6598
6725
  infiniteQueryOptions: NamingOptions & FeatureToggle & {
6599
6726
  /** Custom function to generate metadata for the operation. */meta: (operation: IR$1.OperationObject) => Record<string, unknown>;
6727
+ }; /** Resolved configuration for generated mutation keys. */
6728
+ mutationKeys: NamingOptions & FeatureToggle & {
6729
+ /** Whether to include operation tags in mutation keys. */tags: boolean;
6600
6730
  }; /** Resolved configuration for generated mutation options helpers. */
6601
6731
  mutationOptions: NamingOptions & FeatureToggle & {
6602
6732
  /** Whether to export generated symbols. */exported: boolean; /** Custom function to generate metadata for the operation. */
@@ -6716,6 +6846,45 @@ type UserConfig$9 = Plugin$1.Name<'@tanstack/svelte-query'> & Plugin$1.Hooks & P
6716
6846
  */
6717
6847
  name?: NameTransformer;
6718
6848
  };
6849
+ /**
6850
+ * Configuration for generated mutation keys.
6851
+ *
6852
+ * See {@link https://tanstack.com/query/v5/docs/framework/svelte/reference/functions/createMutation createMutation}
6853
+ *
6854
+ * Can be:
6855
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
6856
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
6857
+ * - `object`: Full configuration object
6858
+ *
6859
+ * @default false
6860
+ */
6861
+ mutationKeys?: boolean | NameTransformer | {
6862
+ /**
6863
+ * Casing convention for generated names.
6864
+ *
6865
+ * @default 'camelCase'
6866
+ */
6867
+ case?: Casing;
6868
+ /**
6869
+ * Whether this feature is enabled.
6870
+ *
6871
+ * @default true
6872
+ */
6873
+ enabled?: boolean;
6874
+ /**
6875
+ * Naming pattern for generated names.
6876
+ *
6877
+ * @default '{{name}}MutationKey'
6878
+ */
6879
+ name?: NameTransformer;
6880
+ /**
6881
+ * Whether to include operation tags in mutation keys.
6882
+ * This will make mutation keys larger but provides better cache invalidation capabilities.
6883
+ *
6884
+ * @default false
6885
+ */
6886
+ tags?: boolean;
6887
+ };
6719
6888
  /**
6720
6889
  * Configuration for generated mutation options helpers.
6721
6890
  *
@@ -6920,6 +7089,9 @@ type Config$6 = Plugin$1.Name<'@tanstack/svelte-query'> & Plugin$1.Hooks & Plugi
6920
7089
  }; /** Resolved configuration for generated infinite query options helpers. */
6921
7090
  infiniteQueryOptions: NamingOptions & FeatureToggle & {
6922
7091
  /** Custom function to generate metadata for the operation. */meta: (operation: IR$1.OperationObject) => Record<string, unknown>;
7092
+ }; /** Resolved configuration for generated mutation keys. */
7093
+ mutationKeys: NamingOptions & FeatureToggle & {
7094
+ /** Whether to include operation tags in mutation keys. */tags: boolean;
6923
7095
  }; /** Resolved configuration for generated mutation options helpers. */
6924
7096
  mutationOptions: NamingOptions & FeatureToggle & {
6925
7097
  /** Whether to export generated symbols. */exported: boolean; /** Custom function to generate metadata for the operation. */
@@ -7040,6 +7212,45 @@ type UserConfig$8 = Plugin$1.Name<'@tanstack/vue-query'> & Plugin$1.Hooks & Plug
7040
7212
  */
7041
7213
  name?: NameTransformer;
7042
7214
  };
7215
+ /**
7216
+ * Configuration for generated mutation keys.
7217
+ *
7218
+ * See {@link https://tanstack.com/query/v5/docs/framework/vue/reference/useMutation}
7219
+ *
7220
+ * Can be:
7221
+ * - `boolean`: Shorthand for `{ enabled: boolean }`
7222
+ * - `string` or `function`: Shorthand for `{ name: string | function }`
7223
+ * - `object`: Full configuration object
7224
+ *
7225
+ * @default false
7226
+ */
7227
+ mutationKeys?: boolean | NameTransformer | {
7228
+ /**
7229
+ * Casing convention for generated names.
7230
+ *
7231
+ * @default 'camelCase'
7232
+ */
7233
+ case?: Casing;
7234
+ /**
7235
+ * Whether this feature is enabled.
7236
+ *
7237
+ * @default true
7238
+ */
7239
+ enabled?: boolean;
7240
+ /**
7241
+ * Naming pattern for generated names.
7242
+ *
7243
+ * @default '{{name}}MutationKey'
7244
+ */
7245
+ name?: NameTransformer;
7246
+ /**
7247
+ * Whether to include operation tags in mutation keys.
7248
+ * This will make mutation keys larger but provides better cache invalidation capabilities.
7249
+ *
7250
+ * @default false
7251
+ */
7252
+ tags?: boolean;
7253
+ };
7043
7254
  /**
7044
7255
  * Configuration for generated mutation options helpers.
7045
7256
  *
@@ -7246,6 +7457,9 @@ type Config$5 = Plugin$1.Name<'@tanstack/vue-query'> & Plugin$1.Hooks & Plugin$1
7246
7457
  }; /** Resolved configuration for generated infinite query options helpers. */
7247
7458
  infiniteQueryOptions: NamingOptions & FeatureToggle & {
7248
7459
  /** Custom function to generate metadata for the operation. */meta: (operation: IR$1.OperationObject) => Record<string, unknown>;
7460
+ }; /** Resolved configuration for generated mutation keys. */
7461
+ mutationKeys: NamingOptions & FeatureToggle & {
7462
+ /** Whether to include operation tags in mutation keys. */tags: boolean;
7249
7463
  }; /** Resolved configuration for generated mutation options helpers. */
7250
7464
  mutationOptions: NamingOptions & FeatureToggle & {
7251
7465
  /** Whether to export generated symbols. */exported: boolean; /** Custom function to generate metadata for the operation. */
@@ -7269,9 +7483,12 @@ type ValidatorArgs$2 = {
7269
7483
  };
7270
7484
  //#endregion
7271
7485
  //#region src/plugins/arktype/api.d.ts
7486
+ type ArrowFunc$2 = Extract<ReturnType<typeof $.func>, {
7487
+ '~mode': 'arrow';
7488
+ }>;
7272
7489
  type IApi$2 = {
7273
- createRequestValidator: (args: RequestSchemaContext<ArktypePlugin['Instance']>) => ReturnType<typeof $.func> | undefined;
7274
- createResponseValidator: (args: ValidatorArgs$2) => ReturnType<typeof $.func> | undefined;
7490
+ createRequestValidator: (args: RequestSchemaContext<ArktypePlugin['Instance']>) => ArrowFunc$2 | undefined;
7491
+ createResponseValidator: (args: ValidatorArgs$2) => ArrowFunc$2 | undefined;
7275
7492
  };
7276
7493
  //#endregion
7277
7494
  //#region src/plugins/arktype/types.d.ts
@@ -8360,10 +8577,18 @@ interface ValibotFinal extends Pick<ValibotResult, 'pipes'> {
8360
8577
  }
8361
8578
  //#endregion
8362
8579
  //#region src/plugins/valibot/api.d.ts
8580
+ type ArrowFunc$1 = Extract<ReturnType<typeof $.func>, {
8581
+ '~mode': 'arrow';
8582
+ }>;
8363
8583
  type IApi$1 = {
8364
8584
  createRequestSchema: (ctx: RequestSchemaContext<ValibotPlugin['Instance']>) => Symbol | Pipe | undefined;
8365
- createRequestValidator: (args: RequestSchemaContext<ValibotPlugin['Instance']>) => ReturnType<typeof $.func> | undefined;
8366
- createResponseValidator: (args: ValidatorArgs$1) => ReturnType<typeof $.func> | undefined;
8585
+ createRequestValidator: (ctx: RequestSchemaContext<ValibotPlugin['Instance']>) => ArrowFunc$1 | undefined;
8586
+ createResponseHandlers: (ctx: ValidatorArgs$1) => {
8587
+ transformer: ArrowFunc$1 | undefined;
8588
+ validator: ArrowFunc$1 | undefined;
8589
+ };
8590
+ createResponseTransformer: (ctx: ValidatorArgs$1) => ArrowFunc$1 | undefined;
8591
+ createResponseValidator: (ctx: ValidatorArgs$1) => ArrowFunc$1 | undefined;
8367
8592
  };
8368
8593
  //#endregion
8369
8594
  //#region src/plugins/shared/utils/coerce.d.ts
@@ -8516,7 +8741,7 @@ type ValibotResolvers = Plugin$1.Resolvers<{
8516
8741
  */
8517
8742
  void?: (ctx: VoidResolverContext$1) => PipeResult;
8518
8743
  }>;
8519
- interface BaseContext$1 extends DollarTsDsl {
8744
+ interface BaseContext$1 extends DollarTsDsl, SchemaVisitorContext<ValibotPlugin['Instance']> {
8520
8745
  /**
8521
8746
  * Functions for working with pipes.
8522
8747
  */
@@ -8532,8 +8757,6 @@ interface BaseContext$1 extends DollarTsDsl {
8532
8757
  */
8533
8758
  current: Pipes;
8534
8759
  };
8535
- /** The plugin instance. */
8536
- plugin: ValibotPlugin['Instance'];
8537
8760
  /**
8538
8761
  * Provides access to commonly used symbols within the plugin.
8539
8762
  */
@@ -8556,7 +8779,6 @@ interface ArrayResolverContext$1 extends BaseContext$1 {
8556
8779
  };
8557
8780
  schema: SchemaWithType<'array'>;
8558
8781
  walk: Walker<ValibotResult, ValibotPlugin['Instance']>;
8559
- walkerCtx: SchemaVisitorContext<ValibotPlugin['Instance']>;
8560
8782
  }
8561
8783
  interface BooleanResolverContext$1 extends BaseContext$1 {
8562
8784
  /**
@@ -8582,13 +8804,9 @@ interface EnumResolverContext$1 extends BaseContext$1 {
8582
8804
  */
8583
8805
  items: (ctx: EnumResolverContext$1) => {
8584
8806
  /**
8585
- * String literal values for use with v.picklist([...]).
8807
+ * Literal nodes for each enum member.
8586
8808
  */
8587
8809
  enumMembers: Array<ReturnType<typeof $.literal>>;
8588
- /**
8589
- * Whether the enum includes a null value.
8590
- */
8591
- isNullable: boolean;
8592
8810
  };
8593
8811
  };
8594
8812
  schema: SchemaWithType<'enum'>;
@@ -8660,7 +8878,6 @@ interface ObjectResolverContext$1 extends BaseContext$1 {
8660
8878
  };
8661
8879
  schema: SchemaWithType<'object'>;
8662
8880
  walk: Walker<ValibotResult, ValibotPlugin['Instance']>;
8663
- walkerCtx: SchemaVisitorContext<ValibotPlugin['Instance']>;
8664
8881
  }
8665
8882
  interface StringResolverContext$1 extends BaseContext$1 {
8666
8883
  /**
@@ -8690,7 +8907,6 @@ interface TupleResolverContext$1 extends BaseContext$1 {
8690
8907
  };
8691
8908
  schema: SchemaWithType<'tuple'>;
8692
8909
  walk: Walker<ValibotResult, ValibotPlugin['Instance']>;
8693
- walkerCtx: SchemaVisitorContext<ValibotPlugin['Instance']>;
8694
8910
  }
8695
8911
  interface UndefinedResolverContext$1 extends BaseContext$1 {
8696
8912
  /**
@@ -9170,10 +9386,18 @@ interface ZodFinal extends Pick<ZodResult, 'expression'> {
9170
9386
  }
9171
9387
  //#endregion
9172
9388
  //#region src/plugins/zod/api.d.ts
9389
+ type ArrowFunc = Extract<ReturnType<typeof $.func>, {
9390
+ '~mode': 'arrow';
9391
+ }>;
9173
9392
  type IApi = {
9174
9393
  createRequestSchema: (ctx: RequestSchemaContext<ZodPlugin['Instance']>) => Symbol | Chain | undefined;
9175
- createRequestValidator: (ctx: RequestSchemaContext<ZodPlugin['Instance']>) => ReturnType<typeof $.func> | undefined;
9176
- createResponseValidator: (ctx: ValidatorArgs) => ReturnType<typeof $.func> | undefined;
9394
+ createRequestValidator: (ctx: RequestSchemaContext<ZodPlugin['Instance']>) => ArrowFunc | undefined;
9395
+ createResponseHandlers: (ctx: ValidatorArgs) => {
9396
+ transformer: ArrowFunc | undefined;
9397
+ validator: ArrowFunc | undefined;
9398
+ };
9399
+ createResponseTransformer: (ctx: ValidatorArgs) => ArrowFunc | undefined;
9400
+ createResponseValidator: (ctx: ValidatorArgs) => ArrowFunc | undefined;
9177
9401
  };
9178
9402
  //#endregion
9179
9403
  //#region src/plugins/zod/resolvers.d.ts
@@ -9312,7 +9536,7 @@ type ZodResolvers = Plugin$1.Resolvers<{
9312
9536
  */
9313
9537
  void?: (ctx: VoidResolverContext) => ChainResult;
9314
9538
  }>;
9315
- interface BaseContext extends DollarTsDsl {
9539
+ interface BaseContext extends DollarTsDsl, SchemaVisitorContext<ZodPlugin['Instance']> {
9316
9540
  /**
9317
9541
  * Functions for working with chains.
9318
9542
  */
@@ -9328,8 +9552,6 @@ interface BaseContext extends DollarTsDsl {
9328
9552
  */
9329
9553
  current: Chain;
9330
9554
  };
9331
- /** The plugin instance. */
9332
- plugin: ZodPlugin['Instance'];
9333
9555
  /**
9334
9556
  * Provides access to commonly used symbols within the plugin.
9335
9557
  */
@@ -9368,7 +9590,6 @@ interface ArrayResolverContext extends BaseContext {
9368
9590
  };
9369
9591
  schema: SchemaWithType<'array'>;
9370
9592
  walk: Walker<ZodResult, ZodPlugin['Instance']>;
9371
- walkerCtx: SchemaVisitorContext<ZodPlugin['Instance']>;
9372
9593
  }
9373
9594
  interface BooleanResolverContext extends BaseContext {
9374
9595
  /**
@@ -9400,21 +9621,13 @@ interface EnumResolverContext extends BaseContext {
9400
9621
  */
9401
9622
  items: (ctx: EnumResolverContext) => {
9402
9623
  /**
9403
- * Whether all enum members are strings.
9404
- */
9405
- allStrings: boolean;
9406
- /**
9407
- * String literal values for use with z.enum([...]).
9624
+ * String literal nodes for each string-typed enum member.
9408
9625
  */
9409
9626
  enumMembers: Array<ReturnType<typeof $.literal>>;
9410
9627
  /**
9411
- * Whether the enum includes a null value.
9412
- */
9413
- isNullable: boolean;
9414
- /**
9415
- * Zod literal expressions for each enum member.
9628
+ * Schema expressions for each non-null enum member (e.g. z.literal(...)).
9416
9629
  */
9417
- literalMembers: Array<Chain>;
9630
+ literalSchemas: Array<Chain>;
9418
9631
  };
9419
9632
  };
9420
9633
  schema: SchemaWithType<'enum'>;
@@ -9518,7 +9731,6 @@ interface ObjectResolverContext extends BaseContext {
9518
9731
  };
9519
9732
  schema: SchemaWithType<'object'>;
9520
9733
  walk: Walker<ZodResult, ZodPlugin['Instance']>;
9521
- walkerCtx: SchemaVisitorContext<ZodPlugin['Instance']>;
9522
9734
  }
9523
9735
  interface StringResolverContext extends BaseContext {
9524
9736
  /**
@@ -9576,7 +9788,6 @@ interface TupleResolverContext extends BaseContext {
9576
9788
  };
9577
9789
  schema: SchemaWithType<'tuple'>;
9578
9790
  walk: Walker<ZodResult, ZodPlugin['Instance']>;
9579
- walkerCtx: SchemaVisitorContext<ZodPlugin['Instance']>;
9580
9791
  }
9581
9792
  interface UndefinedResolverContext extends BaseContext {
9582
9793
  /**
@@ -10924,7 +11135,7 @@ type ZodPlugin = DefinePlugin$1<UserConfig$1, Config, IApi>;
10924
11135
  *
10925
11136
  * @param userConfig User provided {@link UserConfig} configuration(s).
10926
11137
  */
10927
- declare function createClient(userConfig?: LazyOrAsync<MaybeArray<UserConfig>>, logger?: any): Promise<ReadonlyArray<Context>>;
11138
+ declare function createClient(userConfig?: LazyOrAsync<MaybeArray<UserConfig>>, logger?: Logger$1): Promise<ReadonlyArray<Context>>;
10928
11139
  //#endregion
10929
11140
  //#region src/config/plugins.d.ts
10930
11141
  /**