@tablecraft/engine 0.1.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/dist/src/__tests__/inputValidator.test.d.ts +2 -0
  2. package/dist/src/__tests__/inputValidator.test.d.ts.map +1 -0
  3. package/dist/src/__tests__/inputValidator.test.js +205 -0
  4. package/dist/src/__tests__/inputValidator.test.js.map +1 -0
  5. package/dist/src/__tests__/metadataBuilder.test.d.ts +2 -0
  6. package/dist/src/__tests__/metadataBuilder.test.d.ts.map +1 -0
  7. package/dist/src/__tests__/metadataBuilder.test.js +221 -0
  8. package/dist/src/__tests__/metadataBuilder.test.js.map +1 -0
  9. package/dist/src/core/aggregationBuilder.d.ts +17 -0
  10. package/dist/src/core/aggregationBuilder.d.ts.map +1 -0
  11. package/dist/src/core/aggregationBuilder.js +81 -0
  12. package/dist/src/core/aggregationBuilder.js.map +1 -0
  13. package/dist/src/core/cursorPagination.d.ts +36 -0
  14. package/dist/src/core/cursorPagination.d.ts.map +1 -0
  15. package/dist/src/core/cursorPagination.js +88 -0
  16. package/dist/src/core/cursorPagination.js.map +1 -0
  17. package/dist/src/core/datePresets.d.ts +19 -0
  18. package/dist/src/core/datePresets.d.ts.map +1 -0
  19. package/dist/src/core/datePresets.js +96 -0
  20. package/dist/src/core/datePresets.js.map +1 -0
  21. package/dist/src/core/dialect.d.ts +17 -0
  22. package/dist/src/core/dialect.d.ts.map +1 -0
  23. package/dist/src/core/dialect.js +60 -0
  24. package/dist/src/core/dialect.js.map +1 -0
  25. package/dist/src/core/fieldSelector.d.ts +19 -0
  26. package/dist/src/core/fieldSelector.d.ts.map +1 -0
  27. package/dist/src/core/fieldSelector.js +49 -0
  28. package/dist/src/core/fieldSelector.js.map +1 -0
  29. package/dist/src/core/filterBuilder.d.ts +22 -0
  30. package/dist/src/core/filterBuilder.d.ts.map +1 -0
  31. package/dist/src/core/filterBuilder.js +112 -0
  32. package/dist/src/core/filterBuilder.js.map +1 -0
  33. package/dist/src/core/filterGroupBuilder.d.ts +28 -0
  34. package/dist/src/core/filterGroupBuilder.d.ts.map +1 -0
  35. package/dist/src/core/filterGroupBuilder.js +73 -0
  36. package/dist/src/core/filterGroupBuilder.js.map +1 -0
  37. package/dist/src/core/groupByBuilder.d.ts +23 -0
  38. package/dist/src/core/groupByBuilder.d.ts.map +1 -0
  39. package/dist/src/core/groupByBuilder.js +127 -0
  40. package/dist/src/core/groupByBuilder.js.map +1 -0
  41. package/dist/src/core/inputValidator.d.ts +8 -0
  42. package/dist/src/core/inputValidator.d.ts.map +1 -0
  43. package/dist/src/core/inputValidator.js +117 -0
  44. package/dist/src/core/inputValidator.js.map +1 -0
  45. package/dist/src/core/metadataBuilder.d.ts +91 -0
  46. package/dist/src/core/metadataBuilder.d.ts.map +1 -0
  47. package/dist/src/core/metadataBuilder.js +220 -0
  48. package/dist/src/core/metadataBuilder.js.map +1 -0
  49. package/dist/src/core/paginationBuilder.d.ts +20 -0
  50. package/dist/src/core/paginationBuilder.d.ts.map +1 -0
  51. package/dist/src/core/paginationBuilder.js +42 -0
  52. package/dist/src/core/paginationBuilder.js.map +1 -0
  53. package/dist/src/core/queryBuilder.d.ts +20 -0
  54. package/dist/src/core/queryBuilder.d.ts.map +1 -0
  55. package/dist/src/core/queryBuilder.js +163 -0
  56. package/dist/src/core/queryBuilder.js.map +1 -0
  57. package/dist/src/core/recursiveBuilder.d.ts +25 -0
  58. package/dist/src/core/recursiveBuilder.d.ts.map +1 -0
  59. package/dist/src/core/recursiveBuilder.js +86 -0
  60. package/dist/src/core/recursiveBuilder.js.map +1 -0
  61. package/dist/src/core/relationBuilder.d.ts +19 -0
  62. package/dist/src/core/relationBuilder.d.ts.map +1 -0
  63. package/dist/src/core/relationBuilder.js +118 -0
  64. package/dist/src/core/relationBuilder.js.map +1 -0
  65. package/dist/src/core/roleFilter.d.ts +11 -0
  66. package/dist/src/core/roleFilter.d.ts.map +1 -0
  67. package/dist/src/core/roleFilter.js +24 -0
  68. package/dist/src/core/roleFilter.js.map +1 -0
  69. package/dist/src/core/searchBuilder.d.ts +17 -0
  70. package/dist/src/core/searchBuilder.d.ts.map +1 -0
  71. package/dist/src/core/searchBuilder.js +71 -0
  72. package/dist/src/core/searchBuilder.js.map +1 -0
  73. package/dist/src/core/softDelete.d.ts +12 -0
  74. package/dist/src/core/softDelete.d.ts.map +1 -0
  75. package/dist/src/core/softDelete.js +29 -0
  76. package/dist/src/core/softDelete.js.map +1 -0
  77. package/dist/src/core/sortBuilder.d.ts +14 -0
  78. package/dist/src/core/sortBuilder.d.ts.map +1 -0
  79. package/dist/src/core/sortBuilder.js +58 -0
  80. package/dist/src/core/sortBuilder.js.map +1 -0
  81. package/dist/src/core/subqueryBuilder.d.ts +13 -0
  82. package/dist/src/core/subqueryBuilder.d.ts.map +1 -0
  83. package/dist/src/core/subqueryBuilder.js +47 -0
  84. package/dist/src/core/subqueryBuilder.js.map +1 -0
  85. package/dist/src/core/validator.d.ts +18 -0
  86. package/dist/src/core/validator.d.ts.map +1 -0
  87. package/dist/src/core/validator.js +88 -0
  88. package/dist/src/core/validator.js.map +1 -0
  89. package/dist/src/define.d.ts +274 -0
  90. package/dist/src/define.d.ts.map +1 -0
  91. package/dist/src/define.js +690 -0
  92. package/dist/src/define.js.map +1 -0
  93. package/dist/src/engine.d.ts +17 -0
  94. package/dist/src/engine.d.ts.map +1 -0
  95. package/dist/src/engine.js +429 -0
  96. package/dist/src/engine.js.map +1 -0
  97. package/dist/src/errors.d.ts +53 -0
  98. package/dist/src/errors.d.ts.map +1 -0
  99. package/dist/src/errors.js +80 -0
  100. package/dist/src/errors.js.map +1 -0
  101. package/dist/src/index.d.ts +37 -0
  102. package/dist/src/index.d.ts.map +1 -0
  103. package/dist/src/index.js +41 -0
  104. package/dist/src/index.js.map +1 -0
  105. package/dist/src/types/engine.d.ts +92 -0
  106. package/dist/src/types/engine.d.ts.map +1 -0
  107. package/dist/src/types/engine.js +2 -0
  108. package/dist/src/types/engine.js.map +1 -0
  109. package/dist/src/types/table.d.ts +867 -0
  110. package/dist/src/types/table.d.ts.map +1 -0
  111. package/dist/src/types/table.js +198 -0
  112. package/dist/src/types/table.js.map +1 -0
  113. package/dist/src/utils/adapterUtils.d.ts +16 -0
  114. package/dist/src/utils/adapterUtils.d.ts.map +1 -0
  115. package/dist/src/utils/adapterUtils.js +28 -0
  116. package/dist/src/utils/adapterUtils.js.map +1 -0
  117. package/dist/src/utils/codegen.d.ts +7 -0
  118. package/dist/src/utils/codegen.d.ts.map +1 -0
  119. package/dist/src/utils/codegen.js +126 -0
  120. package/dist/src/utils/codegen.js.map +1 -0
  121. package/dist/src/utils/export.d.ts +15 -0
  122. package/dist/src/utils/export.d.ts.map +1 -0
  123. package/dist/src/utils/export.js +42 -0
  124. package/dist/src/utils/export.js.map +1 -0
  125. package/dist/src/utils/introspect.d.ts +32 -0
  126. package/dist/src/utils/introspect.d.ts.map +1 -0
  127. package/dist/src/utils/introspect.js +174 -0
  128. package/dist/src/utils/introspect.js.map +1 -0
  129. package/dist/src/utils/openapi.d.ts +6 -0
  130. package/dist/src/utils/openapi.d.ts.map +1 -0
  131. package/dist/src/utils/openapi.js +138 -0
  132. package/dist/src/utils/openapi.js.map +1 -0
  133. package/dist/src/utils/operators.d.ts +8 -0
  134. package/dist/src/utils/operators.d.ts.map +1 -0
  135. package/dist/src/utils/operators.js +70 -0
  136. package/dist/src/utils/operators.js.map +1 -0
  137. package/dist/src/utils/requestParser.d.ts +18 -0
  138. package/dist/src/utils/requestParser.d.ts.map +1 -0
  139. package/dist/src/utils/requestParser.js +126 -0
  140. package/dist/src/utils/requestParser.js.map +1 -0
  141. package/dist/src/utils/responseFormatter.d.ts +12 -0
  142. package/dist/src/utils/responseFormatter.d.ts.map +1 -0
  143. package/dist/src/utils/responseFormatter.js +106 -0
  144. package/dist/src/utils/responseFormatter.js.map +1 -0
  145. package/dist/src/utils/typedSql.d.ts +70 -0
  146. package/dist/src/utils/typedSql.d.ts.map +1 -0
  147. package/dist/src/utils/typedSql.js +102 -0
  148. package/dist/src/utils/typedSql.js.map +1 -0
  149. package/dist/test/columnMeta.test.d.ts +2 -0
  150. package/dist/test/columnMeta.test.d.ts.map +1 -0
  151. package/dist/test/columnMeta.test.js +92 -0
  152. package/dist/test/columnMeta.test.js.map +1 -0
  153. package/dist/test/core/aggregationBuilder.test.d.ts +2 -0
  154. package/dist/test/core/aggregationBuilder.test.d.ts.map +1 -0
  155. package/dist/test/core/aggregationBuilder.test.js +64 -0
  156. package/dist/test/core/aggregationBuilder.test.js.map +1 -0
  157. package/dist/test/core/filterBuilder.test.d.ts +2 -0
  158. package/dist/test/core/filterBuilder.test.d.ts.map +1 -0
  159. package/dist/test/core/filterBuilder.test.js +80 -0
  160. package/dist/test/core/filterBuilder.test.js.map +1 -0
  161. package/dist/test/core/paginationBuilder.test.d.ts +2 -0
  162. package/dist/test/core/paginationBuilder.test.d.ts.map +1 -0
  163. package/dist/test/core/paginationBuilder.test.js +63 -0
  164. package/dist/test/core/paginationBuilder.test.js.map +1 -0
  165. package/dist/test/core/queryBuilder.test.d.ts +2 -0
  166. package/dist/test/core/queryBuilder.test.d.ts.map +1 -0
  167. package/dist/test/core/queryBuilder.test.js +92 -0
  168. package/dist/test/core/queryBuilder.test.js.map +1 -0
  169. package/dist/test/core/searchBuilder.test.d.ts +2 -0
  170. package/dist/test/core/searchBuilder.test.d.ts.map +1 -0
  171. package/dist/test/core/searchBuilder.test.js +68 -0
  172. package/dist/test/core/searchBuilder.test.js.map +1 -0
  173. package/dist/test/core/softDelete.test.d.ts +2 -0
  174. package/dist/test/core/softDelete.test.d.ts.map +1 -0
  175. package/dist/test/core/softDelete.test.js +60 -0
  176. package/dist/test/core/softDelete.test.js.map +1 -0
  177. package/dist/test/core/sortBuilder.test.d.ts +2 -0
  178. package/dist/test/core/sortBuilder.test.d.ts.map +1 -0
  179. package/dist/test/core/sortBuilder.test.js +59 -0
  180. package/dist/test/core/sortBuilder.test.js.map +1 -0
  181. package/dist/test/core/subqueryBuilder.test.d.ts +2 -0
  182. package/dist/test/core/subqueryBuilder.test.d.ts.map +1 -0
  183. package/dist/test/core/subqueryBuilder.test.js +48 -0
  184. package/dist/test/core/subqueryBuilder.test.js.map +1 -0
  185. package/dist/test/core/validator.test.d.ts +2 -0
  186. package/dist/test/core/validator.test.d.ts.map +1 -0
  187. package/dist/test/core/validator.test.js +81 -0
  188. package/dist/test/core/validator.test.js.map +1 -0
  189. package/dist/test/datePresets.test.d.ts +2 -0
  190. package/dist/test/datePresets.test.d.ts.map +1 -0
  191. package/dist/test/datePresets.test.js +57 -0
  192. package/dist/test/datePresets.test.js.map +1 -0
  193. package/dist/test/errors.test.d.ts +2 -0
  194. package/dist/test/errors.test.d.ts.map +1 -0
  195. package/dist/test/errors.test.js +62 -0
  196. package/dist/test/errors.test.js.map +1 -0
  197. package/dist/test/inputValidator.test.d.ts +2 -0
  198. package/dist/test/inputValidator.test.d.ts.map +1 -0
  199. package/dist/test/inputValidator.test.js +60 -0
  200. package/dist/test/inputValidator.test.js.map +1 -0
  201. package/dist/test/metadata.test.d.ts +2 -0
  202. package/dist/test/metadata.test.d.ts.map +1 -0
  203. package/dist/test/metadata.test.js +285 -0
  204. package/dist/test/metadata.test.js.map +1 -0
  205. package/dist/test/metadataComplete.test.d.ts +2 -0
  206. package/dist/test/metadataComplete.test.d.ts.map +1 -0
  207. package/dist/test/metadataComplete.test.js +113 -0
  208. package/dist/test/metadataComplete.test.js.map +1 -0
  209. package/dist/test/roleFilter.test.d.ts +2 -0
  210. package/dist/test/roleFilter.test.d.ts.map +1 -0
  211. package/dist/test/roleFilter.test.js +53 -0
  212. package/dist/test/roleFilter.test.js.map +1 -0
  213. package/dist/test/typedSql.test.d.ts +2 -0
  214. package/dist/test/typedSql.test.d.ts.map +1 -0
  215. package/dist/test/typedSql.test.js +63 -0
  216. package/dist/test/typedSql.test.js.map +1 -0
  217. package/dist/test/utils/codegen.test.d.ts +2 -0
  218. package/dist/test/utils/codegen.test.d.ts.map +1 -0
  219. package/dist/test/utils/codegen.test.js +65 -0
  220. package/dist/test/utils/codegen.test.js.map +1 -0
  221. package/dist/test/utils/export.test.d.ts +2 -0
  222. package/dist/test/utils/export.test.d.ts.map +1 -0
  223. package/dist/test/utils/export.test.js +54 -0
  224. package/dist/test/utils/export.test.js.map +1 -0
  225. package/dist/test/utils/openapi.test.d.ts +2 -0
  226. package/dist/test/utils/openapi.test.d.ts.map +1 -0
  227. package/dist/test/utils/openapi.test.js +65 -0
  228. package/dist/test/utils/openapi.test.js.map +1 -0
  229. package/dist/test/utils/requestParser.test.d.ts +2 -0
  230. package/dist/test/utils/requestParser.test.d.ts.map +1 -0
  231. package/dist/test/utils/requestParser.test.js +89 -0
  232. package/dist/test/utils/requestParser.test.js.map +1 -0
  233. package/dist/test/utils/responseFormatter.test.d.ts +2 -0
  234. package/dist/test/utils/responseFormatter.test.d.ts.map +1 -0
  235. package/dist/test/utils/responseFormatter.test.js +79 -0
  236. package/dist/test/utils/responseFormatter.test.js.map +1 -0
  237. package/package.json +42 -0
@@ -0,0 +1,867 @@
1
+ import { z } from 'zod';
2
+ export declare const OperatorSchema: z.ZodEnum<["eq", "neq", "gt", "gte", "lt", "lte", "like", "ilike", "in", "notIn", "between", "isNull", "isNotNull", "contains", "startsWith", "endsWith"]>;
3
+ export type Operator = z.infer<typeof OperatorSchema>;
4
+ export declare const JoinTypeSchema: z.ZodEnum<["left", "right", "inner", "full"]>;
5
+ export type JoinType = z.infer<typeof JoinTypeSchema>;
6
+ export declare const FilterTypeSchema: z.ZodEnum<["static", "dynamic"]>;
7
+ export type FilterType = z.infer<typeof FilterTypeSchema>;
8
+ export declare const AggregationTypeSchema: z.ZodEnum<["count", "sum", "avg", "min", "max"]>;
9
+ export type AggregationType = z.infer<typeof AggregationTypeSchema>;
10
+ export declare const ColumnFormatSchema: z.ZodEnum<["text", "number", "currency", "percent", "date", "datetime", "time", "boolean", "email", "url", "phone", "image", "badge", "code"]>;
11
+ export type ColumnFormat = z.infer<typeof ColumnFormatSchema>;
12
+ export declare const ColumnAlignSchema: z.ZodEnum<["left", "center", "right"]>;
13
+ export type ColumnAlign = z.infer<typeof ColumnAlignSchema>;
14
+ export declare const ColumnOptionsSchema: z.ZodObject<{
15
+ value: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>;
16
+ label: z.ZodString;
17
+ color: z.ZodOptional<z.ZodString>;
18
+ }, "strip", z.ZodTypeAny, {
19
+ value: string | number | boolean;
20
+ label: string;
21
+ color?: string | undefined;
22
+ }, {
23
+ value: string | number | boolean;
24
+ label: string;
25
+ color?: string | undefined;
26
+ }>;
27
+ export type ColumnOption = z.infer<typeof ColumnOptionsSchema>;
28
+ export declare const DatePresetSchema: z.ZodEnum<["today", "yesterday", "last7days", "last30days", "last90days", "thisWeek", "lastWeek", "thisMonth", "lastMonth", "thisQuarter", "lastQuarter", "thisYear", "lastYear", "custom"]>;
29
+ export type DatePreset = z.infer<typeof DatePresetSchema>;
30
+ export declare const ColumnConfigSchema: z.ZodObject<{
31
+ name: z.ZodString;
32
+ field: z.ZodOptional<z.ZodString>;
33
+ type: z.ZodEnum<["string", "number", "boolean", "date", "json", "uuid"]>;
34
+ label: z.ZodOptional<z.ZodString>;
35
+ hidden: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
36
+ sortable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
37
+ filterable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
38
+ dbTransform: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
39
+ jsTransform: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
40
+ computed: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
41
+ format: z.ZodOptional<z.ZodEnum<["text", "number", "currency", "percent", "date", "datetime", "time", "boolean", "email", "url", "phone", "image", "badge", "code"]>>;
42
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
43
+ width: z.ZodOptional<z.ZodNumber>;
44
+ minWidth: z.ZodOptional<z.ZodNumber>;
45
+ maxWidth: z.ZodOptional<z.ZodNumber>;
46
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
47
+ value: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>;
48
+ label: z.ZodString;
49
+ color: z.ZodOptional<z.ZodString>;
50
+ }, "strip", z.ZodTypeAny, {
51
+ value: string | number | boolean;
52
+ label: string;
53
+ color?: string | undefined;
54
+ }, {
55
+ value: string | number | boolean;
56
+ label: string;
57
+ color?: string | undefined;
58
+ }>, "many">>;
59
+ datePresets: z.ZodOptional<z.ZodArray<z.ZodEnum<["today", "yesterday", "last7days", "last30days", "last90days", "thisWeek", "lastWeek", "thisMonth", "lastMonth", "thisQuarter", "lastQuarter", "thisYear", "lastYear", "custom"]>, "many">>;
60
+ visibleTo: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
61
+ }, "strip", z.ZodTypeAny, {
62
+ type: "string" | "number" | "boolean" | "date" | "json" | "uuid";
63
+ name: string;
64
+ options?: {
65
+ value: string | number | boolean;
66
+ label: string;
67
+ color?: string | undefined;
68
+ }[] | undefined;
69
+ label?: string | undefined;
70
+ field?: string | undefined;
71
+ hidden?: boolean | undefined;
72
+ sortable?: boolean | undefined;
73
+ filterable?: boolean | undefined;
74
+ dbTransform?: string[] | undefined;
75
+ jsTransform?: string[] | undefined;
76
+ computed?: boolean | undefined;
77
+ format?: "number" | "boolean" | "code" | "text" | "currency" | "percent" | "date" | "datetime" | "time" | "email" | "url" | "phone" | "image" | "badge" | undefined;
78
+ align?: "left" | "right" | "center" | undefined;
79
+ width?: number | undefined;
80
+ minWidth?: number | undefined;
81
+ maxWidth?: number | undefined;
82
+ datePresets?: ("custom" | "today" | "yesterday" | "last7days" | "last30days" | "last90days" | "thisWeek" | "lastWeek" | "thisMonth" | "lastMonth" | "thisQuarter" | "lastQuarter" | "thisYear" | "lastYear")[] | undefined;
83
+ visibleTo?: string[] | undefined;
84
+ }, {
85
+ type: "string" | "number" | "boolean" | "date" | "json" | "uuid";
86
+ name: string;
87
+ options?: {
88
+ value: string | number | boolean;
89
+ label: string;
90
+ color?: string | undefined;
91
+ }[] | undefined;
92
+ label?: string | undefined;
93
+ field?: string | undefined;
94
+ hidden?: boolean | undefined;
95
+ sortable?: boolean | undefined;
96
+ filterable?: boolean | undefined;
97
+ dbTransform?: string[] | undefined;
98
+ jsTransform?: string[] | undefined;
99
+ computed?: boolean | undefined;
100
+ format?: "number" | "boolean" | "code" | "text" | "currency" | "percent" | "date" | "datetime" | "time" | "email" | "url" | "phone" | "image" | "badge" | undefined;
101
+ align?: "left" | "right" | "center" | undefined;
102
+ width?: number | undefined;
103
+ minWidth?: number | undefined;
104
+ maxWidth?: number | undefined;
105
+ datePresets?: ("custom" | "today" | "yesterday" | "last7days" | "last30days" | "last90days" | "thisWeek" | "lastWeek" | "thisMonth" | "lastMonth" | "thisQuarter" | "lastQuarter" | "thisYear" | "lastYear")[] | undefined;
106
+ visibleTo?: string[] | undefined;
107
+ }>;
108
+ export type ColumnConfig = z.infer<typeof ColumnConfigSchema>;
109
+ export type ColumnDefinition = z.input<typeof ColumnConfigSchema>;
110
+ export declare const JoinConfigSchema: z.ZodType<any>;
111
+ export type JoinConfig = z.infer<typeof JoinConfigSchema>;
112
+ export type JoinDefinition = z.input<typeof JoinConfigSchema>;
113
+ export declare const FilterConfigSchema: z.ZodObject<{
114
+ field: z.ZodString;
115
+ operator: z.ZodOptional<z.ZodDefault<z.ZodEnum<["eq", "neq", "gt", "gte", "lt", "lte", "like", "ilike", "in", "notIn", "between", "isNull", "isNotNull", "contains", "startsWith", "endsWith"]>>>;
116
+ value: z.ZodOptional<z.ZodAny>;
117
+ label: z.ZodOptional<z.ZodString>;
118
+ type: z.ZodOptional<z.ZodDefault<z.ZodEnum<["static", "dynamic"]>>>;
119
+ }, "strip", z.ZodTypeAny, {
120
+ field: string;
121
+ value?: any;
122
+ type?: "static" | "dynamic" | undefined;
123
+ label?: string | undefined;
124
+ operator?: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith" | undefined;
125
+ }, {
126
+ field: string;
127
+ value?: any;
128
+ type?: "static" | "dynamic" | undefined;
129
+ label?: string | undefined;
130
+ operator?: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith" | undefined;
131
+ }>;
132
+ export type FilterConfig = z.infer<typeof FilterConfigSchema>;
133
+ export declare const SearchConfigSchema: z.ZodObject<{
134
+ fields: z.ZodArray<z.ZodString, "many">;
135
+ enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
136
+ }, "strip", z.ZodTypeAny, {
137
+ fields: string[];
138
+ enabled?: boolean | undefined;
139
+ }, {
140
+ fields: string[];
141
+ enabled?: boolean | undefined;
142
+ }>;
143
+ export type SearchConfig = z.infer<typeof SearchConfigSchema>;
144
+ export declare const SortConfigSchema: z.ZodObject<{
145
+ field: z.ZodString;
146
+ order: z.ZodOptional<z.ZodDefault<z.ZodEnum<["asc", "desc"]>>>;
147
+ }, "strip", z.ZodTypeAny, {
148
+ field: string;
149
+ order?: "asc" | "desc" | undefined;
150
+ }, {
151
+ field: string;
152
+ order?: "asc" | "desc" | undefined;
153
+ }>;
154
+ export type SortConfig = z.infer<typeof SortConfigSchema>;
155
+ export declare const PaginationConfigSchema: z.ZodObject<{
156
+ defaultPageSize: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
157
+ maxPageSize: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
158
+ enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
159
+ }, "strip", z.ZodTypeAny, {
160
+ enabled?: boolean | undefined;
161
+ defaultPageSize?: number | undefined;
162
+ maxPageSize?: number | undefined;
163
+ }, {
164
+ enabled?: boolean | undefined;
165
+ defaultPageSize?: number | undefined;
166
+ maxPageSize?: number | undefined;
167
+ }>;
168
+ export type PaginationConfig = z.infer<typeof PaginationConfigSchema>;
169
+ export declare const AggregationConfigSchema: z.ZodObject<{
170
+ alias: z.ZodString;
171
+ type: z.ZodEnum<["count", "sum", "avg", "min", "max"]>;
172
+ field: z.ZodString;
173
+ }, "strip", z.ZodTypeAny, {
174
+ type: "count" | "sum" | "avg" | "min" | "max";
175
+ field: string;
176
+ alias: string;
177
+ }, {
178
+ type: "count" | "sum" | "avg" | "min" | "max";
179
+ field: string;
180
+ alias: string;
181
+ }>;
182
+ export type AggregationConfig = z.infer<typeof AggregationConfigSchema>;
183
+ export declare const SubqueryConfigSchema: z.ZodObject<{
184
+ alias: z.ZodString;
185
+ table: z.ZodString;
186
+ type: z.ZodEnum<["count", "exists", "first"]>;
187
+ filter: z.ZodOptional<z.ZodString>;
188
+ }, "strip", z.ZodTypeAny, {
189
+ type: "count" | "exists" | "first";
190
+ table: string;
191
+ alias: string;
192
+ filter?: string | undefined;
193
+ }, {
194
+ type: "count" | "exists" | "first";
195
+ table: string;
196
+ alias: string;
197
+ filter?: string | undefined;
198
+ }>;
199
+ export type SubqueryConfig = z.infer<typeof SubqueryConfigSchema>;
200
+ export declare const BackendConditionSchema: z.ZodObject<{
201
+ field: z.ZodString;
202
+ operator: z.ZodEnum<["eq", "neq", "gt", "gte", "lt", "lte", "like", "ilike", "in", "notIn", "between", "isNull", "isNotNull", "contains", "startsWith", "endsWith"]>;
203
+ value: z.ZodAny;
204
+ }, "strip", z.ZodTypeAny, {
205
+ field: string;
206
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
207
+ value?: any;
208
+ }, {
209
+ field: string;
210
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
211
+ value?: any;
212
+ }>;
213
+ export type BackendCondition = z.infer<typeof BackendConditionSchema>;
214
+ export declare const FilterConditionSchema: z.ZodObject<{
215
+ field: z.ZodString;
216
+ operator: z.ZodEnum<["eq", "neq", "gt", "gte", "lt", "lte", "like", "ilike", "in", "notIn", "between", "isNull", "isNotNull", "contains", "startsWith", "endsWith"]>;
217
+ value: z.ZodAny;
218
+ }, "strip", z.ZodTypeAny, {
219
+ field: string;
220
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
221
+ value?: any;
222
+ }, {
223
+ field: string;
224
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
225
+ value?: any;
226
+ }>;
227
+ export type FilterCondition = z.infer<typeof FilterConditionSchema>;
228
+ export declare const FilterExpressionSchema: z.ZodType<any>;
229
+ export type FilterExpression = {
230
+ type: 'and' | 'or';
231
+ conditions: FilterExpression[];
232
+ } | FilterCondition;
233
+ export declare const HavingConditionSchema: z.ZodObject<{
234
+ alias: z.ZodString;
235
+ operator: z.ZodEnum<["eq", "neq", "gt", "gte", "lt", "lte", "like", "ilike", "in", "notIn", "between", "isNull", "isNotNull", "contains", "startsWith", "endsWith"]>;
236
+ value: z.ZodAny;
237
+ }, "strip", z.ZodTypeAny, {
238
+ alias: string;
239
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
240
+ value?: any;
241
+ }, {
242
+ alias: string;
243
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
244
+ value?: any;
245
+ }>;
246
+ export type HavingCondition = z.infer<typeof HavingConditionSchema>;
247
+ export declare const GroupByConfigSchema: z.ZodObject<{
248
+ fields: z.ZodArray<z.ZodString, "many">;
249
+ having: z.ZodOptional<z.ZodArray<z.ZodObject<{
250
+ alias: z.ZodString;
251
+ operator: z.ZodEnum<["eq", "neq", "gt", "gte", "lt", "lte", "like", "ilike", "in", "notIn", "between", "isNull", "isNotNull", "contains", "startsWith", "endsWith"]>;
252
+ value: z.ZodAny;
253
+ }, "strip", z.ZodTypeAny, {
254
+ alias: string;
255
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
256
+ value?: any;
257
+ }, {
258
+ alias: string;
259
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
260
+ value?: any;
261
+ }>, "many">>;
262
+ }, "strip", z.ZodTypeAny, {
263
+ fields: string[];
264
+ having?: {
265
+ alias: string;
266
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
267
+ value?: any;
268
+ }[] | undefined;
269
+ }, {
270
+ fields: string[];
271
+ having?: {
272
+ alias: string;
273
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
274
+ value?: any;
275
+ }[] | undefined;
276
+ }>;
277
+ export type GroupByConfig = z.infer<typeof GroupByConfigSchema>;
278
+ export declare const IncludeConfigSchema: z.ZodType<any>;
279
+ export type IncludeConfig = z.infer<typeof IncludeConfigSchema>;
280
+ export declare const RecursiveConfigSchema: z.ZodObject<{
281
+ parentKey: z.ZodString;
282
+ childKey: z.ZodDefault<z.ZodString>;
283
+ startWith: z.ZodOptional<z.ZodObject<{
284
+ field: z.ZodString;
285
+ operator: z.ZodEnum<["eq", "neq", "gt", "gte", "lt", "lte", "like", "ilike", "in", "notIn", "between", "isNull", "isNotNull", "contains", "startsWith", "endsWith"]>;
286
+ value: z.ZodAny;
287
+ }, "strip", z.ZodTypeAny, {
288
+ field: string;
289
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
290
+ value?: any;
291
+ }, {
292
+ field: string;
293
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
294
+ value?: any;
295
+ }>>;
296
+ maxDepth: z.ZodDefault<z.ZodNumber>;
297
+ depthAlias: z.ZodDefault<z.ZodString>;
298
+ pathAlias: z.ZodOptional<z.ZodString>;
299
+ }, "strip", z.ZodTypeAny, {
300
+ parentKey: string;
301
+ childKey: string;
302
+ maxDepth: number;
303
+ depthAlias: string;
304
+ startWith?: {
305
+ field: string;
306
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
307
+ value?: any;
308
+ } | undefined;
309
+ pathAlias?: string | undefined;
310
+ }, {
311
+ parentKey: string;
312
+ childKey?: string | undefined;
313
+ startWith?: {
314
+ field: string;
315
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
316
+ value?: any;
317
+ } | undefined;
318
+ maxDepth?: number | undefined;
319
+ depthAlias?: string | undefined;
320
+ pathAlias?: string | undefined;
321
+ }>;
322
+ export type RecursiveConfig = z.infer<typeof RecursiveConfigSchema>;
323
+ export declare const TenantConfigSchema: z.ZodObject<{
324
+ field: z.ZodOptional<z.ZodDefault<z.ZodString>>;
325
+ enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
326
+ }, "strip", z.ZodTypeAny, {
327
+ field?: string | undefined;
328
+ enabled?: boolean | undefined;
329
+ }, {
330
+ field?: string | undefined;
331
+ enabled?: boolean | undefined;
332
+ }>;
333
+ export type TenantConfig = z.infer<typeof TenantConfigSchema>;
334
+ export declare const SoftDeleteConfigSchema: z.ZodObject<{
335
+ field: z.ZodOptional<z.ZodDefault<z.ZodString>>;
336
+ enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
337
+ }, "strip", z.ZodTypeAny, {
338
+ field?: string | undefined;
339
+ enabled?: boolean | undefined;
340
+ }, {
341
+ field?: string | undefined;
342
+ enabled?: boolean | undefined;
343
+ }>;
344
+ export type SoftDeleteConfig = z.infer<typeof SoftDeleteConfigSchema>;
345
+ export declare const ExportConfigSchema: z.ZodObject<{
346
+ formats: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodEnum<["csv", "json"]>, "many">>>;
347
+ enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
348
+ }, "strip", z.ZodTypeAny, {
349
+ enabled?: boolean | undefined;
350
+ formats?: ("json" | "csv")[] | undefined;
351
+ }, {
352
+ enabled?: boolean | undefined;
353
+ formats?: ("json" | "csv")[] | undefined;
354
+ }>;
355
+ export type ExportConfig = z.infer<typeof ExportConfigSchema>;
356
+ export declare const AccessControlSchema: z.ZodObject<{
357
+ roles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
358
+ permissions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
359
+ }, "strip", z.ZodTypeAny, {
360
+ roles?: string[] | undefined;
361
+ permissions?: string[] | undefined;
362
+ }, {
363
+ roles?: string[] | undefined;
364
+ permissions?: string[] | undefined;
365
+ }>;
366
+ export type AccessControl = z.infer<typeof AccessControlSchema>;
367
+ export declare const TableConfigSchema: z.ZodObject<{
368
+ name: z.ZodString;
369
+ base: z.ZodString;
370
+ columns: z.ZodArray<z.ZodObject<{
371
+ name: z.ZodString;
372
+ field: z.ZodOptional<z.ZodString>;
373
+ type: z.ZodEnum<["string", "number", "boolean", "date", "json", "uuid"]>;
374
+ label: z.ZodOptional<z.ZodString>;
375
+ hidden: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
376
+ sortable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
377
+ filterable: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
378
+ dbTransform: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
379
+ jsTransform: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
380
+ computed: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
381
+ format: z.ZodOptional<z.ZodEnum<["text", "number", "currency", "percent", "date", "datetime", "time", "boolean", "email", "url", "phone", "image", "badge", "code"]>>;
382
+ align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
383
+ width: z.ZodOptional<z.ZodNumber>;
384
+ minWidth: z.ZodOptional<z.ZodNumber>;
385
+ maxWidth: z.ZodOptional<z.ZodNumber>;
386
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
387
+ value: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>;
388
+ label: z.ZodString;
389
+ color: z.ZodOptional<z.ZodString>;
390
+ }, "strip", z.ZodTypeAny, {
391
+ value: string | number | boolean;
392
+ label: string;
393
+ color?: string | undefined;
394
+ }, {
395
+ value: string | number | boolean;
396
+ label: string;
397
+ color?: string | undefined;
398
+ }>, "many">>;
399
+ datePresets: z.ZodOptional<z.ZodArray<z.ZodEnum<["today", "yesterday", "last7days", "last30days", "last90days", "thisWeek", "lastWeek", "thisMonth", "lastMonth", "thisQuarter", "lastQuarter", "thisYear", "lastYear", "custom"]>, "many">>;
400
+ visibleTo: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
401
+ }, "strip", z.ZodTypeAny, {
402
+ type: "string" | "number" | "boolean" | "date" | "json" | "uuid";
403
+ name: string;
404
+ options?: {
405
+ value: string | number | boolean;
406
+ label: string;
407
+ color?: string | undefined;
408
+ }[] | undefined;
409
+ label?: string | undefined;
410
+ field?: string | undefined;
411
+ hidden?: boolean | undefined;
412
+ sortable?: boolean | undefined;
413
+ filterable?: boolean | undefined;
414
+ dbTransform?: string[] | undefined;
415
+ jsTransform?: string[] | undefined;
416
+ computed?: boolean | undefined;
417
+ format?: "number" | "boolean" | "code" | "text" | "currency" | "percent" | "date" | "datetime" | "time" | "email" | "url" | "phone" | "image" | "badge" | undefined;
418
+ align?: "left" | "right" | "center" | undefined;
419
+ width?: number | undefined;
420
+ minWidth?: number | undefined;
421
+ maxWidth?: number | undefined;
422
+ datePresets?: ("custom" | "today" | "yesterday" | "last7days" | "last30days" | "last90days" | "thisWeek" | "lastWeek" | "thisMonth" | "lastMonth" | "thisQuarter" | "lastQuarter" | "thisYear" | "lastYear")[] | undefined;
423
+ visibleTo?: string[] | undefined;
424
+ }, {
425
+ type: "string" | "number" | "boolean" | "date" | "json" | "uuid";
426
+ name: string;
427
+ options?: {
428
+ value: string | number | boolean;
429
+ label: string;
430
+ color?: string | undefined;
431
+ }[] | undefined;
432
+ label?: string | undefined;
433
+ field?: string | undefined;
434
+ hidden?: boolean | undefined;
435
+ sortable?: boolean | undefined;
436
+ filterable?: boolean | undefined;
437
+ dbTransform?: string[] | undefined;
438
+ jsTransform?: string[] | undefined;
439
+ computed?: boolean | undefined;
440
+ format?: "number" | "boolean" | "code" | "text" | "currency" | "percent" | "date" | "datetime" | "time" | "email" | "url" | "phone" | "image" | "badge" | undefined;
441
+ align?: "left" | "right" | "center" | undefined;
442
+ width?: number | undefined;
443
+ minWidth?: number | undefined;
444
+ maxWidth?: number | undefined;
445
+ datePresets?: ("custom" | "today" | "yesterday" | "last7days" | "last30days" | "last90days" | "thisWeek" | "lastWeek" | "thisMonth" | "lastMonth" | "thisQuarter" | "lastQuarter" | "thisYear" | "lastYear")[] | undefined;
446
+ visibleTo?: string[] | undefined;
447
+ }>, "many">;
448
+ joins: z.ZodOptional<z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">>;
449
+ filters: z.ZodOptional<z.ZodArray<z.ZodObject<{
450
+ field: z.ZodString;
451
+ operator: z.ZodOptional<z.ZodDefault<z.ZodEnum<["eq", "neq", "gt", "gte", "lt", "lte", "like", "ilike", "in", "notIn", "between", "isNull", "isNotNull", "contains", "startsWith", "endsWith"]>>>;
452
+ value: z.ZodOptional<z.ZodAny>;
453
+ label: z.ZodOptional<z.ZodString>;
454
+ type: z.ZodOptional<z.ZodDefault<z.ZodEnum<["static", "dynamic"]>>>;
455
+ }, "strip", z.ZodTypeAny, {
456
+ field: string;
457
+ value?: any;
458
+ type?: "static" | "dynamic" | undefined;
459
+ label?: string | undefined;
460
+ operator?: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith" | undefined;
461
+ }, {
462
+ field: string;
463
+ value?: any;
464
+ type?: "static" | "dynamic" | undefined;
465
+ label?: string | undefined;
466
+ operator?: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith" | undefined;
467
+ }>, "many">>;
468
+ search: z.ZodOptional<z.ZodObject<{
469
+ fields: z.ZodArray<z.ZodString, "many">;
470
+ enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
471
+ }, "strip", z.ZodTypeAny, {
472
+ fields: string[];
473
+ enabled?: boolean | undefined;
474
+ }, {
475
+ fields: string[];
476
+ enabled?: boolean | undefined;
477
+ }>>;
478
+ defaultSort: z.ZodOptional<z.ZodArray<z.ZodObject<{
479
+ field: z.ZodString;
480
+ order: z.ZodOptional<z.ZodDefault<z.ZodEnum<["asc", "desc"]>>>;
481
+ }, "strip", z.ZodTypeAny, {
482
+ field: string;
483
+ order?: "asc" | "desc" | undefined;
484
+ }, {
485
+ field: string;
486
+ order?: "asc" | "desc" | undefined;
487
+ }>, "many">>;
488
+ pagination: z.ZodOptional<z.ZodObject<{
489
+ defaultPageSize: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
490
+ maxPageSize: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
491
+ enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
492
+ }, "strip", z.ZodTypeAny, {
493
+ enabled?: boolean | undefined;
494
+ defaultPageSize?: number | undefined;
495
+ maxPageSize?: number | undefined;
496
+ }, {
497
+ enabled?: boolean | undefined;
498
+ defaultPageSize?: number | undefined;
499
+ maxPageSize?: number | undefined;
500
+ }>>;
501
+ backendConditions: z.ZodOptional<z.ZodArray<z.ZodObject<{
502
+ field: z.ZodString;
503
+ operator: z.ZodEnum<["eq", "neq", "gt", "gte", "lt", "lte", "like", "ilike", "in", "notIn", "between", "isNull", "isNotNull", "contains", "startsWith", "endsWith"]>;
504
+ value: z.ZodAny;
505
+ }, "strip", z.ZodTypeAny, {
506
+ field: string;
507
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
508
+ value?: any;
509
+ }, {
510
+ field: string;
511
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
512
+ value?: any;
513
+ }>, "many">>;
514
+ aggregations: z.ZodOptional<z.ZodArray<z.ZodObject<{
515
+ alias: z.ZodString;
516
+ type: z.ZodEnum<["count", "sum", "avg", "min", "max"]>;
517
+ field: z.ZodString;
518
+ }, "strip", z.ZodTypeAny, {
519
+ type: "count" | "sum" | "avg" | "min" | "max";
520
+ field: string;
521
+ alias: string;
522
+ }, {
523
+ type: "count" | "sum" | "avg" | "min" | "max";
524
+ field: string;
525
+ alias: string;
526
+ }>, "many">>;
527
+ subqueries: z.ZodOptional<z.ZodArray<z.ZodObject<{
528
+ alias: z.ZodString;
529
+ table: z.ZodString;
530
+ type: z.ZodEnum<["count", "exists", "first"]>;
531
+ filter: z.ZodOptional<z.ZodString>;
532
+ }, "strip", z.ZodTypeAny, {
533
+ type: "count" | "exists" | "first";
534
+ table: string;
535
+ alias: string;
536
+ filter?: string | undefined;
537
+ }, {
538
+ type: "count" | "exists" | "first";
539
+ table: string;
540
+ alias: string;
541
+ filter?: string | undefined;
542
+ }>, "many">>;
543
+ filterGroups: z.ZodOptional<z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">>;
544
+ groupBy: z.ZodOptional<z.ZodObject<{
545
+ fields: z.ZodArray<z.ZodString, "many">;
546
+ having: z.ZodOptional<z.ZodArray<z.ZodObject<{
547
+ alias: z.ZodString;
548
+ operator: z.ZodEnum<["eq", "neq", "gt", "gte", "lt", "lte", "like", "ilike", "in", "notIn", "between", "isNull", "isNotNull", "contains", "startsWith", "endsWith"]>;
549
+ value: z.ZodAny;
550
+ }, "strip", z.ZodTypeAny, {
551
+ alias: string;
552
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
553
+ value?: any;
554
+ }, {
555
+ alias: string;
556
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
557
+ value?: any;
558
+ }>, "many">>;
559
+ }, "strip", z.ZodTypeAny, {
560
+ fields: string[];
561
+ having?: {
562
+ alias: string;
563
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
564
+ value?: any;
565
+ }[] | undefined;
566
+ }, {
567
+ fields: string[];
568
+ having?: {
569
+ alias: string;
570
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
571
+ value?: any;
572
+ }[] | undefined;
573
+ }>>;
574
+ include: z.ZodOptional<z.ZodArray<z.ZodType<any, z.ZodTypeDef, any>, "many">>;
575
+ recursive: z.ZodOptional<z.ZodObject<{
576
+ parentKey: z.ZodString;
577
+ childKey: z.ZodDefault<z.ZodString>;
578
+ startWith: z.ZodOptional<z.ZodObject<{
579
+ field: z.ZodString;
580
+ operator: z.ZodEnum<["eq", "neq", "gt", "gte", "lt", "lte", "like", "ilike", "in", "notIn", "between", "isNull", "isNotNull", "contains", "startsWith", "endsWith"]>;
581
+ value: z.ZodAny;
582
+ }, "strip", z.ZodTypeAny, {
583
+ field: string;
584
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
585
+ value?: any;
586
+ }, {
587
+ field: string;
588
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
589
+ value?: any;
590
+ }>>;
591
+ maxDepth: z.ZodDefault<z.ZodNumber>;
592
+ depthAlias: z.ZodDefault<z.ZodString>;
593
+ pathAlias: z.ZodOptional<z.ZodString>;
594
+ }, "strip", z.ZodTypeAny, {
595
+ parentKey: string;
596
+ childKey: string;
597
+ maxDepth: number;
598
+ depthAlias: string;
599
+ startWith?: {
600
+ field: string;
601
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
602
+ value?: any;
603
+ } | undefined;
604
+ pathAlias?: string | undefined;
605
+ }, {
606
+ parentKey: string;
607
+ childKey?: string | undefined;
608
+ startWith?: {
609
+ field: string;
610
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
611
+ value?: any;
612
+ } | undefined;
613
+ maxDepth?: number | undefined;
614
+ depthAlias?: string | undefined;
615
+ pathAlias?: string | undefined;
616
+ }>>;
617
+ tenant: z.ZodOptional<z.ZodObject<{
618
+ field: z.ZodOptional<z.ZodDefault<z.ZodString>>;
619
+ enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
620
+ }, "strip", z.ZodTypeAny, {
621
+ field?: string | undefined;
622
+ enabled?: boolean | undefined;
623
+ }, {
624
+ field?: string | undefined;
625
+ enabled?: boolean | undefined;
626
+ }>>;
627
+ softDelete: z.ZodOptional<z.ZodObject<{
628
+ field: z.ZodOptional<z.ZodDefault<z.ZodString>>;
629
+ enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
630
+ }, "strip", z.ZodTypeAny, {
631
+ field?: string | undefined;
632
+ enabled?: boolean | undefined;
633
+ }, {
634
+ field?: string | undefined;
635
+ enabled?: boolean | undefined;
636
+ }>>;
637
+ export: z.ZodOptional<z.ZodObject<{
638
+ formats: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodEnum<["csv", "json"]>, "many">>>;
639
+ enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
640
+ }, "strip", z.ZodTypeAny, {
641
+ enabled?: boolean | undefined;
642
+ formats?: ("json" | "csv")[] | undefined;
643
+ }, {
644
+ enabled?: boolean | undefined;
645
+ formats?: ("json" | "csv")[] | undefined;
646
+ }>>;
647
+ access: z.ZodOptional<z.ZodObject<{
648
+ roles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
649
+ permissions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
650
+ }, "strip", z.ZodTypeAny, {
651
+ roles?: string[] | undefined;
652
+ permissions?: string[] | undefined;
653
+ }, {
654
+ roles?: string[] | undefined;
655
+ permissions?: string[] | undefined;
656
+ }>>;
657
+ dateRangeColumn: z.ZodOptional<z.ZodString>;
658
+ }, "strip", z.ZodTypeAny, {
659
+ name: string;
660
+ columns: {
661
+ type: "string" | "number" | "boolean" | "date" | "json" | "uuid";
662
+ name: string;
663
+ options?: {
664
+ value: string | number | boolean;
665
+ label: string;
666
+ color?: string | undefined;
667
+ }[] | undefined;
668
+ label?: string | undefined;
669
+ field?: string | undefined;
670
+ hidden?: boolean | undefined;
671
+ sortable?: boolean | undefined;
672
+ filterable?: boolean | undefined;
673
+ dbTransform?: string[] | undefined;
674
+ jsTransform?: string[] | undefined;
675
+ computed?: boolean | undefined;
676
+ format?: "number" | "boolean" | "code" | "text" | "currency" | "percent" | "date" | "datetime" | "time" | "email" | "url" | "phone" | "image" | "badge" | undefined;
677
+ align?: "left" | "right" | "center" | undefined;
678
+ width?: number | undefined;
679
+ minWidth?: number | undefined;
680
+ maxWidth?: number | undefined;
681
+ datePresets?: ("custom" | "today" | "yesterday" | "last7days" | "last30days" | "last90days" | "thisWeek" | "lastWeek" | "thisMonth" | "lastMonth" | "thisQuarter" | "lastQuarter" | "thisYear" | "lastYear")[] | undefined;
682
+ visibleTo?: string[] | undefined;
683
+ }[];
684
+ base: string;
685
+ joins?: any[] | undefined;
686
+ include?: any[] | undefined;
687
+ filters?: {
688
+ field: string;
689
+ value?: any;
690
+ type?: "static" | "dynamic" | undefined;
691
+ label?: string | undefined;
692
+ operator?: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith" | undefined;
693
+ }[] | undefined;
694
+ search?: {
695
+ fields: string[];
696
+ enabled?: boolean | undefined;
697
+ } | undefined;
698
+ defaultSort?: {
699
+ field: string;
700
+ order?: "asc" | "desc" | undefined;
701
+ }[] | undefined;
702
+ pagination?: {
703
+ enabled?: boolean | undefined;
704
+ defaultPageSize?: number | undefined;
705
+ maxPageSize?: number | undefined;
706
+ } | undefined;
707
+ backendConditions?: {
708
+ field: string;
709
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
710
+ value?: any;
711
+ }[] | undefined;
712
+ aggregations?: {
713
+ type: "count" | "sum" | "avg" | "min" | "max";
714
+ field: string;
715
+ alias: string;
716
+ }[] | undefined;
717
+ subqueries?: {
718
+ type: "count" | "exists" | "first";
719
+ table: string;
720
+ alias: string;
721
+ filter?: string | undefined;
722
+ }[] | undefined;
723
+ filterGroups?: any[] | undefined;
724
+ groupBy?: {
725
+ fields: string[];
726
+ having?: {
727
+ alias: string;
728
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
729
+ value?: any;
730
+ }[] | undefined;
731
+ } | undefined;
732
+ recursive?: {
733
+ parentKey: string;
734
+ childKey: string;
735
+ maxDepth: number;
736
+ depthAlias: string;
737
+ startWith?: {
738
+ field: string;
739
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
740
+ value?: any;
741
+ } | undefined;
742
+ pathAlias?: string | undefined;
743
+ } | undefined;
744
+ tenant?: {
745
+ field?: string | undefined;
746
+ enabled?: boolean | undefined;
747
+ } | undefined;
748
+ softDelete?: {
749
+ field?: string | undefined;
750
+ enabled?: boolean | undefined;
751
+ } | undefined;
752
+ export?: {
753
+ enabled?: boolean | undefined;
754
+ formats?: ("json" | "csv")[] | undefined;
755
+ } | undefined;
756
+ access?: {
757
+ roles?: string[] | undefined;
758
+ permissions?: string[] | undefined;
759
+ } | undefined;
760
+ dateRangeColumn?: string | undefined;
761
+ }, {
762
+ name: string;
763
+ columns: {
764
+ type: "string" | "number" | "boolean" | "date" | "json" | "uuid";
765
+ name: string;
766
+ options?: {
767
+ value: string | number | boolean;
768
+ label: string;
769
+ color?: string | undefined;
770
+ }[] | undefined;
771
+ label?: string | undefined;
772
+ field?: string | undefined;
773
+ hidden?: boolean | undefined;
774
+ sortable?: boolean | undefined;
775
+ filterable?: boolean | undefined;
776
+ dbTransform?: string[] | undefined;
777
+ jsTransform?: string[] | undefined;
778
+ computed?: boolean | undefined;
779
+ format?: "number" | "boolean" | "code" | "text" | "currency" | "percent" | "date" | "datetime" | "time" | "email" | "url" | "phone" | "image" | "badge" | undefined;
780
+ align?: "left" | "right" | "center" | undefined;
781
+ width?: number | undefined;
782
+ minWidth?: number | undefined;
783
+ maxWidth?: number | undefined;
784
+ datePresets?: ("custom" | "today" | "yesterday" | "last7days" | "last30days" | "last90days" | "thisWeek" | "lastWeek" | "thisMonth" | "lastMonth" | "thisQuarter" | "lastQuarter" | "thisYear" | "lastYear")[] | undefined;
785
+ visibleTo?: string[] | undefined;
786
+ }[];
787
+ base: string;
788
+ joins?: any[] | undefined;
789
+ include?: any[] | undefined;
790
+ filters?: {
791
+ field: string;
792
+ value?: any;
793
+ type?: "static" | "dynamic" | undefined;
794
+ label?: string | undefined;
795
+ operator?: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith" | undefined;
796
+ }[] | undefined;
797
+ search?: {
798
+ fields: string[];
799
+ enabled?: boolean | undefined;
800
+ } | undefined;
801
+ defaultSort?: {
802
+ field: string;
803
+ order?: "asc" | "desc" | undefined;
804
+ }[] | undefined;
805
+ pagination?: {
806
+ enabled?: boolean | undefined;
807
+ defaultPageSize?: number | undefined;
808
+ maxPageSize?: number | undefined;
809
+ } | undefined;
810
+ backendConditions?: {
811
+ field: string;
812
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
813
+ value?: any;
814
+ }[] | undefined;
815
+ aggregations?: {
816
+ type: "count" | "sum" | "avg" | "min" | "max";
817
+ field: string;
818
+ alias: string;
819
+ }[] | undefined;
820
+ subqueries?: {
821
+ type: "count" | "exists" | "first";
822
+ table: string;
823
+ alias: string;
824
+ filter?: string | undefined;
825
+ }[] | undefined;
826
+ filterGroups?: any[] | undefined;
827
+ groupBy?: {
828
+ fields: string[];
829
+ having?: {
830
+ alias: string;
831
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
832
+ value?: any;
833
+ }[] | undefined;
834
+ } | undefined;
835
+ recursive?: {
836
+ parentKey: string;
837
+ childKey?: string | undefined;
838
+ startWith?: {
839
+ field: string;
840
+ operator: "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "like" | "ilike" | "in" | "notIn" | "between" | "isNull" | "isNotNull" | "contains" | "startsWith" | "endsWith";
841
+ value?: any;
842
+ } | undefined;
843
+ maxDepth?: number | undefined;
844
+ depthAlias?: string | undefined;
845
+ pathAlias?: string | undefined;
846
+ } | undefined;
847
+ tenant?: {
848
+ field?: string | undefined;
849
+ enabled?: boolean | undefined;
850
+ } | undefined;
851
+ softDelete?: {
852
+ field?: string | undefined;
853
+ enabled?: boolean | undefined;
854
+ } | undefined;
855
+ export?: {
856
+ enabled?: boolean | undefined;
857
+ formats?: ("json" | "csv")[] | undefined;
858
+ } | undefined;
859
+ access?: {
860
+ roles?: string[] | undefined;
861
+ permissions?: string[] | undefined;
862
+ } | undefined;
863
+ dateRangeColumn?: string | undefined;
864
+ }>;
865
+ export type TableConfig = z.infer<typeof TableConfigSchema>;
866
+ export type TableDefinition = z.input<typeof TableConfigSchema>;
867
+ //# sourceMappingURL=table.d.ts.map