@type32/tauri-sqlite-orm 0.1.18-8 → 0.1.19

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,9 +1,9 @@
1
1
  import Database from '@tauri-apps/plugin-sql';
2
2
 
3
- type ColumnDataType = "TEXT" | "INTEGER" | "REAL" | "BLOB" | "BOOLEAN";
4
- type Mode = "default" | "timestamp" | "timestamp_ms" | "json";
5
- type ColumnValueTypes<TType extends ColumnDataType, TMode extends Mode> = TType extends "TEXT" ? string : TType extends "INTEGER" ? TMode extends "timestamp" | "timestamp_ms" ? Date : number : TType extends "REAL" ? number : TType extends "BOOLEAN" ? boolean : TType extends "BLOB" ? Uint8Array : never;
6
- interface ColumnOptions<TData> {
3
+ type ColumnDataType = 'TEXT' | 'INTEGER' | 'REAL' | 'BLOB' | 'BOOLEAN' | 'NUMERIC';
4
+ type Mode = 'default' | 'timestamp' | 'timestamp_ms' | 'json' | 'boolean' | 'bigint';
5
+ type ColumnValueTypes<TType extends ColumnDataType, TMode extends Mode> = TType extends 'TEXT' ? TMode extends 'json' ? any : string : TType extends 'INTEGER' ? TMode extends 'timestamp' | 'timestamp_ms' ? Date : TMode extends 'boolean' ? boolean : number : TType extends 'REAL' ? number : TType extends 'BOOLEAN' ? boolean : TType extends 'BLOB' ? TMode extends 'json' ? any : TMode extends 'bigint' ? bigint : Uint8Array : TType extends 'NUMERIC' ? TMode extends 'bigint' ? bigint : number : never;
6
+ interface ColumnOptions<TData, TEnum extends readonly string[] = readonly string[]> {
7
7
  notNull?: boolean;
8
8
  default?: TData;
9
9
  $defaultFn?: () => TData;
@@ -16,97 +16,22 @@ interface ColumnOptions<TData> {
16
16
  };
17
17
  mode?: Mode;
18
18
  $onUpdateFn?: () => TData;
19
+ enum?: TEnum;
19
20
  }
20
- type ExtractColumnType<T extends AnySQLiteColumn> = T extends SQLiteColumn<infer _, infer TType, infer TMode, infer TNotNull, infer THasDefault> ? THasDefault extends true ? TNotNull extends true ? ColumnValueTypes<TType, TMode> : ColumnValueTypes<TType, TMode> | null | undefined : TNotNull extends true ? ColumnValueTypes<TType, TMode> : ColumnValueTypes<TType, TMode> | null | undefined : never;
21
- declare class SQLiteColumn<TName extends string = string, TType extends ColumnDataType = ColumnDataType, TMode extends Mode = "default", TNotNull extends boolean = false, THasDefault extends boolean = false, TAutoincrement extends boolean = false> {
22
- type: TType;
23
- options: ColumnOptions<ColumnValueTypes<TType, TMode>>;
24
- _: {
25
- name: TName;
26
- dataType: TType;
27
- mode: TMode;
28
- notNull: TNotNull;
29
- hasDefault: THasDefault;
30
- autoincrement: TAutoincrement;
31
- };
32
- constructor(name: TName, type: TType, options?: ColumnOptions<ColumnValueTypes<TType, TMode>>, mode?: TMode);
33
- notNull(): SQLiteColumn<TName, TType, TMode, true, THasDefault, TAutoincrement>;
34
- default(value: ColumnValueTypes<TType, TMode>): SQLiteColumn<TName, TType, TMode, TNotNull, true, TAutoincrement>;
35
- $defaultFn(fn: () => ColumnValueTypes<TType, TMode>): SQLiteColumn<TName, TType, TMode, TNotNull, true, TAutoincrement>;
36
- primaryKey(): SQLiteColumn<TName, TType, TMode, true, THasDefault, TAutoincrement>;
37
- autoincrement(): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, true>;
38
- unique(): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement>;
39
- references<T extends AnyTable, K extends keyof T["_"]["columns"] & string>(ref: T, column: K): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement>;
40
- $onUpdateFn(fn: () => ColumnValueTypes<TType, TMode>): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement>;
41
- as(alias: string): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement>;
42
- }
43
- declare const text: <TName extends string>(name: TName) => SQLiteColumn<TName, "TEXT", "default", false, false, false>;
44
- declare const integer: <TName extends string, TMode extends Mode = "default">(name: TName, config?: {
45
- mode?: TMode;
46
- }) => SQLiteColumn<TName, "INTEGER", "default" | TMode, false, false, false>;
47
- declare const real: <TName extends string>(name: TName) => SQLiteColumn<TName, "REAL", "default", false, false, false>;
48
- declare const blob: <TName extends string>(name: TName) => SQLiteColumn<TName, "BLOB", "default", false, false, false>;
49
- declare const boolean: <TName extends string>(name: TName) => SQLiteColumn<TName, "BOOLEAN", "default", false, false, false>;
50
- type AnySQLiteColumn = SQLiteColumn<any, any, any, any, any, any>;
21
+ type ExtractColumnType<T extends AnySQLiteColumn> = T['_']['customType'] extends never ? T['_']['enum'] extends readonly string[] ? T['_']['enum'][number] : T extends SQLiteColumn<infer _, infer TType, infer TMode, infer TNotNull, infer THasDefault> ? THasDefault extends true ? TNotNull extends true ? ColumnValueTypes<TType, TMode> : ColumnValueTypes<TType, TMode> | null | undefined : TNotNull extends true ? ColumnValueTypes<TType, TMode> : ColumnValueTypes<TType, TMode> | null | undefined : never : T['_']['customType'];
22
+ type AnySQLiteColumn = SQLiteColumn<any, any, any, any, any, any, any, any>;
51
23
  type AnyTable = Table<Record<string, AnySQLiteColumn>, string>;
52
24
  type InferSelectModel<T extends AnyTable> = {
53
- [K in keyof T["_"]["columns"]]: ExtractColumnType<T["_"]["columns"][K]>;
25
+ [K in keyof T['_']['columns']]: ExtractColumnType<T['_']['columns'][K]>;
54
26
  };
55
- type IsOptionalOnInsert<C extends AnySQLiteColumn> = C["_"]["notNull"] extends false ? true : C["_"]["hasDefault"] extends true ? true : C["_"]["autoincrement"] extends true ? true : false;
56
- type OptionalColumns<TColumns extends Record<string, AnySQLiteColumn>> = {
57
- [K in keyof TColumns]: IsOptionalOnInsert<TColumns[K]> extends true ? K : never;
58
- }[keyof TColumns];
59
- type RequiredColumns<TColumns extends Record<string, AnySQLiteColumn>> = {
60
- [K in keyof TColumns]: IsOptionalOnInsert<TColumns[K]> extends true ? never : K;
61
- }[keyof TColumns];
62
- type InferInsertModel<T extends AnyTable> = {
63
- [K in RequiredColumns<T["_"]["columns"]>]: ExtractColumnType<T["_"]["columns"][K]>;
64
- } & {
65
- [K in OptionalColumns<T["_"]["columns"]>]?: ExtractColumnType<T["_"]["columns"][K]>;
66
- };
67
- declare class Table<TColumns extends Record<string, AnySQLiteColumn>, TTableName extends string> {
68
- _: {
69
- name: TTableName;
70
- columns: TColumns;
71
- };
72
- constructor(name: TTableName, columns: TColumns);
27
+ type RelationType = 'one' | 'many';
28
+ interface RelationConfig {
29
+ type: RelationType;
30
+ foreignTable: AnyTable;
31
+ fields?: AnySQLiteColumn[];
32
+ references?: AnySQLiteColumn[];
73
33
  }
74
- declare const sqliteTable: <TTableName extends string, TColumns extends Record<string, AnySQLiteColumn>>(tableName: TTableName, columns: TColumns) => Table<TColumns, TTableName>;
75
- type SQLCondition = {
76
- sql: string;
77
- params: any[];
78
- };
79
- declare const eq: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
80
- declare const and: (...conditions: SQLCondition[]) => SQLCondition;
81
- declare const or: (...conditions: SQLCondition[]) => SQLCondition;
82
- declare const not: (condition: SQLCondition) => SQLCondition;
83
- declare const gt: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
84
- declare const gte: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
85
- declare const lt: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
86
- declare const lte: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
87
- declare const like: (column: AnySQLiteColumn, pattern: string) => SQLCondition;
88
- declare const isNull: (column: AnySQLiteColumn) => SQLCondition;
89
- declare const isNotNull: (column: AnySQLiteColumn) => SQLCondition;
90
- declare const inArray: <T>(column: AnySQLiteColumn, values: T[]) => SQLCondition;
91
- declare const asc: (column: AnySQLiteColumn) => {
92
- sql: string;
93
- params: never[];
94
- };
95
- declare const desc: (column: AnySQLiteColumn) => {
96
- sql: string;
97
- params: never[];
98
- };
99
- declare const count: (column?: AnySQLiteColumn) => SQLCondition;
100
- declare const countDistinct: (column: AnySQLiteColumn) => SQLCondition;
101
- declare const sum: (column: AnySQLiteColumn) => SQLCondition;
102
- declare const avg: (column: AnySQLiteColumn) => SQLCondition;
103
- declare const max: (column: AnySQLiteColumn) => SQLCondition;
104
- declare const min: (column: AnySQLiteColumn) => SQLCondition;
105
- declare const sql: <T = unknown>(strings: TemplateStringsArray, ...values: any[]) => {
106
- sql: string;
107
- params: any[];
108
- mapWith?: (value: any) => T;
109
- };
34
+
110
35
  declare class BaseQueryBuilder {
111
36
  protected db: Database;
112
37
  protected query: string;
@@ -124,20 +49,43 @@ declare class BaseQueryBuilder {
124
49
  params: any[];
125
50
  };
126
51
  }
127
- declare class SelectQueryBuilder<TTable extends AnyTable, TSelectedColumns extends (keyof TTable["_"]["columns"])[] | undefined = undefined> extends BaseQueryBuilder {
52
+
53
+ declare class SelectQueryBuilder<TTable extends AnyTable, TSelectedColumns extends (keyof TTable['_']['columns'])[] | undefined = undefined> extends BaseQueryBuilder {
128
54
  private table;
129
55
  private columns?;
130
56
  private isDistinct;
131
57
  private groupByColumns;
132
58
  private havingCondition;
59
+ private joins;
60
+ private includeRelations;
61
+ private selectedTableAlias;
62
+ private selectedColumns;
133
63
  constructor(db: Database, table: TTable, columns?: TSelectedColumns | undefined);
134
64
  distinct(): this;
135
65
  groupBy(...columns: AnySQLiteColumn[]): this;
136
66
  having(condition: SQLCondition): this;
137
- execute(): Promise<TSelectedColumns extends (keyof TTable["_"]["columns"])[] ? Pick<InferSelectModel<TTable>, TSelectedColumns[number]>[] : InferSelectModel<TTable>[]>;
138
- all(): Promise<TSelectedColumns extends (keyof TTable["_"]["columns"])[] ? Pick<InferSelectModel<TTable>, TSelectedColumns[number]>[] : InferSelectModel<TTable>[]>;
139
- get(): Promise<TSelectedColumns extends (keyof TTable["_"]["columns"])[] ? Pick<InferSelectModel<TTable>, TSelectedColumns[number]> | undefined : InferSelectModel<TTable> | undefined>;
67
+ leftJoin<T extends AnyTable>(table: T, condition: SQLCondition, alias: string): this;
68
+ innerJoin<T extends AnyTable>(table: T, condition: SQLCondition, alias: string): this;
69
+ include(relations: Partial<Record<keyof TTable['relations'], boolean>>): this;
70
+ private buildJoins;
71
+ execute(): Promise<any[]>;
72
+ private processRelationResults;
73
+ all(): Promise<any[]>;
74
+ get(): Promise<any | undefined>;
140
75
  }
76
+
77
+ declare class UpdateQueryBuilder<T extends AnyTable> extends BaseQueryBuilder {
78
+ private table;
79
+ private updateData;
80
+ private returningColumns;
81
+ constructor(db: Database, table: T);
82
+ set(data: Partial<InferInsertModel<T>>): this;
83
+ returning(...columns: (keyof T["_"]["columns"])[]): this;
84
+ private buildUpdateClause;
85
+ execute(): Promise<T extends AnyTable ? (InferSelectModel<T> & Record<string, any>)[] : never>;
86
+ returningAll(): Promise<InferSelectModel<T>[]>;
87
+ }
88
+
141
89
  declare class InsertQueryBuilder<T extends AnyTable> extends BaseQueryBuilder {
142
90
  private table;
143
91
  private dataSets;
@@ -158,25 +106,16 @@ declare class InsertQueryBuilder<T extends AnyTable> extends BaseQueryBuilder {
158
106
  execute(): Promise<T extends AnyTable ? (InferSelectModel<T> & Record<string, any>)[] : never>;
159
107
  returningAll(): Promise<InferSelectModel<T>[]>;
160
108
  }
161
- declare class UpdateQueryBuilder<T extends AnyTable> extends BaseQueryBuilder {
162
- private table;
163
- private updateData;
164
- private returningColumns;
165
- constructor(db: Database, table: T);
166
- set(data: Partial<InferInsertModel<T>>): this;
167
- returning(...columns: (keyof T["_"]["columns"])[]): this;
168
- private buildUpdateClause;
169
- execute(): Promise<T extends AnyTable ? (InferSelectModel<T> & Record<string, any>)[] : never>;
170
- returningAll(): Promise<InferSelectModel<T>[]>;
171
- }
109
+
172
110
  declare class DeleteQueryBuilder<T extends AnyTable> extends BaseQueryBuilder {
173
111
  private table;
174
112
  private returningColumns;
175
113
  constructor(db: Database, table: T);
176
- returning(...columns: (keyof T["_"]["columns"])[]): this;
114
+ returning(...columns: (keyof T['_']['columns'])[]): this;
177
115
  execute(): Promise<T extends AnyTable ? (InferSelectModel<T> & Record<string, any>)[] : never>;
178
116
  returningAll(): Promise<InferSelectModel<T>[]>;
179
117
  }
118
+
180
119
  declare class WithQueryBuilder {
181
120
  private db;
182
121
  private ctes;
@@ -191,13 +130,87 @@ declare class WithQueryBuilder {
191
130
  delete<T extends AnyTable>(table: T): DeleteQueryBuilder<T>;
192
131
  private applyWithClause;
193
132
  }
133
+
134
+ type RelationsBuilder = {
135
+ one: <U extends AnyTable>(table: U, config?: {
136
+ fields: AnySQLiteColumn[];
137
+ references: AnySQLiteColumn[];
138
+ }) => OneRelation<U>;
139
+ many: <U extends AnyTable>(table: U) => ManyRelation<U>;
140
+ };
141
+
142
+ declare class SQLiteColumn<TName extends string = string, TType extends ColumnDataType = ColumnDataType, TMode extends Mode = 'default', TNotNull extends boolean = false, THasDefault extends boolean = false, TAutoincrement extends boolean = false, TEnum extends readonly string[] = never, TCustomType = never> {
143
+ type: TType;
144
+ options: ColumnOptions<ColumnValueTypes<TType, TMode>, TEnum>;
145
+ _: {
146
+ name: TName;
147
+ dataType: TType;
148
+ mode: TMode;
149
+ notNull: TNotNull;
150
+ hasDefault: THasDefault;
151
+ autoincrement: TAutoincrement;
152
+ enum: TEnum;
153
+ customType: TCustomType;
154
+ };
155
+ constructor(name: TName, type: TType, options?: ColumnOptions<ColumnValueTypes<TType, TMode>, TEnum>, mode?: TMode);
156
+ notNull(): SQLiteColumn<TName, TType, TMode, true, THasDefault, TAutoincrement, TEnum, TCustomType>;
157
+ default(value: ColumnValueTypes<TType, TMode>): SQLiteColumn<TName, TType, TMode, TNotNull, true, TAutoincrement, TEnum, TCustomType>;
158
+ $defaultFn(fn: () => ColumnValueTypes<TType, TMode>): SQLiteColumn<TName, TType, TMode, TNotNull, true, TAutoincrement, TEnum, TCustomType>;
159
+ primaryKey(): SQLiteColumn<TName, TType, TMode, true, THasDefault, TAutoincrement, TEnum, TCustomType>;
160
+ autoincrement(): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, true, TEnum, TCustomType>;
161
+ unique(): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, TCustomType>;
162
+ references<T extends AnyTable, K extends keyof T['_']['columns'] & string>(ref: T, column: K): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, TCustomType>;
163
+ $onUpdateFn(fn: () => ColumnValueTypes<TType, TMode>): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, TCustomType>;
164
+ $type<T>(): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, T>;
165
+ as(alias: string): SQLiteColumn<TName, TType, TMode, TNotNull, THasDefault, TAutoincrement, TEnum, TCustomType>;
166
+ }
167
+ type IsOptionalOnInsert<C extends AnySQLiteColumn> = C['_']['notNull'] extends false ? true : C['_']['hasDefault'] extends true ? true : C['_']['autoincrement'] extends true ? true : false;
168
+ type OptionalColumns<TColumns extends Record<string, AnySQLiteColumn>> = {
169
+ [K in keyof TColumns]: IsOptionalOnInsert<TColumns[K]> extends true ? K : never;
170
+ }[keyof TColumns];
171
+ type RequiredColumns<TColumns extends Record<string, AnySQLiteColumn>> = {
172
+ [K in keyof TColumns]: IsOptionalOnInsert<TColumns[K]> extends true ? never : K;
173
+ }[keyof TColumns];
174
+ type InferInsertModel<T extends AnyTable> = {
175
+ [K in RequiredColumns<T['_']['columns']>]: ExtractColumnType<T['_']['columns'][K]>;
176
+ } & {
177
+ [K in OptionalColumns<T['_']['columns']>]?: ExtractColumnType<T['_']['columns'][K]>;
178
+ };
179
+ declare class Table<TColumns extends Record<string, AnySQLiteColumn>, TTableName extends string> {
180
+ _: {
181
+ name: TTableName;
182
+ columns: TColumns;
183
+ };
184
+ relations: Record<string, RelationConfig>;
185
+ constructor(name: TTableName, columns: TColumns);
186
+ }
187
+ declare const sqliteTable: <TTableName extends string, TColumns extends Record<string, AnySQLiteColumn>>(tableName: TTableName, columns: TColumns) => Table<TColumns, TTableName>;
188
+ type SQLCondition = {
189
+ sql: string;
190
+ params: any[];
191
+ };
192
+ declare const asc: (column: AnySQLiteColumn) => {
193
+ sql: string;
194
+ params: never[];
195
+ };
196
+ declare const desc: (column: AnySQLiteColumn) => {
197
+ sql: string;
198
+ params: never[];
199
+ };
200
+ declare const sql: <T = unknown>(strings: TemplateStringsArray, ...values: any[]) => {
201
+ sql: string;
202
+ params: any[];
203
+ mapWith?: (value: any) => T;
204
+ };
194
205
  declare class TauriORM {
195
206
  private db;
196
207
  private tables;
197
208
  constructor(db: Database, schema?: Record<string, AnyTable | Record<string, Relation>> | undefined);
198
209
  private buildColumnDefinition;
199
- migrate(): Promise<void>;
200
- select<T extends AnyTable, C extends (keyof T["_"]["columns"])[] | undefined = undefined>(table: T, columns?: C): SelectQueryBuilder<T, C>;
210
+ migrate(options?: {
211
+ performDestructiveActions?: boolean;
212
+ }): Promise<void>;
213
+ select<T extends AnyTable, C extends (keyof T['_']['columns'])[] | undefined = undefined>(table: T, columns?: C): SelectQueryBuilder<T, C>;
201
214
  insert<T extends AnyTable>(table: T): InsertQueryBuilder<T>;
202
215
  update<T extends AnyTable>(table: T): UpdateQueryBuilder<T>;
203
216
  delete<T extends AnyTable>(table: T): DeleteQueryBuilder<T>;
@@ -221,6 +234,12 @@ declare class TauriORM {
221
234
  stored: string | null;
222
235
  }>;
223
236
  migrateIfDirty(): Promise<boolean>;
237
+ doesTableExist(tableName: string): Promise<boolean>;
238
+ dropTable(tableName: string): Promise<void>;
239
+ doesColumnExist(tableName: string, columnName: string): Promise<boolean>;
240
+ renameTable(from: string, to: string): Promise<void>;
241
+ dropColumn(tableName: string, columnName: string): Promise<void>;
242
+ renameColumn(tableName: string, from: string, to: string): Promise<void>;
224
243
  }
225
244
  declare class Relation<T extends AnyTable = AnyTable> {
226
245
  foreignTable: T;
@@ -239,15 +258,44 @@ declare class OneRelation<T extends AnyTable = AnyTable> extends Relation<T> {
239
258
  declare class ManyRelation<T extends AnyTable = AnyTable> extends Relation<T> {
240
259
  constructor(foreignTable: T);
241
260
  }
242
- type RelationsBuilder = {
243
- one: <U extends AnyTable>(table: U, config?: {
244
- fields: AnySQLiteColumn[];
245
- references: AnySQLiteColumn[];
246
- }) => OneRelation<U>;
247
- many: <U extends AnyTable>(table: U) => ManyRelation<U>;
248
- };
249
- declare const relations: <T extends AnyTable, R extends Record<string, Relation>>(_table: T, relationsCallback: (helpers: RelationsBuilder) => R) => R;
261
+ declare const relations: <T extends AnyTable, R extends Record<string, Relation>>(table: T, relationsCallback: (helpers: RelationsBuilder) => R) => R;
250
262
  declare const getTableColumns: <T extends AnyTable>(table: T) => Record<string, AnySQLiteColumn>;
251
263
  declare const alias: <T extends AnyTable>(table: T, alias: string) => Table<T["_"]["columns"], T["_"]["name"]>;
252
264
 
253
- export { type AnySQLiteColumn, type AnyTable, type ColumnDataType, type ColumnOptions, DeleteQueryBuilder, type InferInsertModel, type InferSelectModel, InsertQueryBuilder, ManyRelation, type Mode, OneRelation, Relation, type SQLCondition, SQLiteColumn, SelectQueryBuilder, Table, TauriORM, UpdateQueryBuilder, WithQueryBuilder, alias, and, asc, avg, blob, boolean, count, countDistinct, desc, eq, getTableColumns, gt, gte, inArray, integer, isNotNull, isNull, like, lt, lte, max, min, not, or, real, relations, sql, sqliteTable, sum, text };
265
+ declare const eq: <T>(column: AnySQLiteColumn, value: T, tableAlias?: string) => SQLCondition;
266
+ declare const and: (...conditions: SQLCondition[]) => SQLCondition;
267
+ declare const or: (...conditions: SQLCondition[]) => SQLCondition;
268
+ declare const not: (condition: SQLCondition) => SQLCondition;
269
+ declare const gt: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
270
+ declare const gte: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
271
+ declare const lt: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
272
+ declare const lte: <T>(column: AnySQLiteColumn, value: T) => SQLCondition;
273
+ declare const like: (column: AnySQLiteColumn, pattern: string) => SQLCondition;
274
+ declare const isNull: (column: AnySQLiteColumn) => SQLCondition;
275
+ declare const isNotNull: (column: AnySQLiteColumn) => SQLCondition;
276
+ declare const inArray: <T>(column: AnySQLiteColumn, values: T[]) => SQLCondition;
277
+ declare const count: (column?: AnySQLiteColumn) => SQLCondition;
278
+ declare const countDistinct: (column: AnySQLiteColumn) => SQLCondition;
279
+ declare const sum: (column: AnySQLiteColumn) => SQLCondition;
280
+ declare const avg: (column: AnySQLiteColumn) => SQLCondition;
281
+ declare const max: (column: AnySQLiteColumn) => SQLCondition;
282
+ declare const min: (column: AnySQLiteColumn) => SQLCondition;
283
+
284
+ declare const text: <TName extends string, TEnum extends readonly string[]>(name: TName, config?: {
285
+ mode?: "json";
286
+ enum?: TEnum;
287
+ }) => SQLiteColumn<TName, "TEXT", "json", false, false, false, TEnum, never>;
288
+ declare const integer: <TName extends string, TMode extends Mode = "default">(name: TName, config?: {
289
+ mode?: TMode;
290
+ }) => SQLiteColumn<TName, "INTEGER", "default" | TMode, false, false, false, never, never>;
291
+ declare const real: <TName extends string>(name: TName) => SQLiteColumn<TName, "REAL", "default", false, false, false, never, never>;
292
+ declare const blob: <TName extends string>(name: TName, config?: {
293
+ mode: "json" | "bigint";
294
+ }) => SQLiteColumn<TName, "BLOB", "bigint" | "json", false, false, false, never, never>;
295
+ declare const boolean: <TName extends string>(name: TName) => SQLiteColumn<TName, "BOOLEAN", "default", false, false, false, never, never>;
296
+ declare const numeric: <TName extends string>(name: TName, config?: {
297
+ mode?: "bigint";
298
+ }) => SQLiteColumn<TName, "NUMERIC", "bigint", false, false, false, never, never>;
299
+ declare const enumType: <TName extends string, TValues extends readonly [string, ...string[]]>(name: TName, values: TValues) => SQLiteColumn<TName, "TEXT", "json", false, false, false, TValues, never>;
300
+
301
+ export { type AnySQLiteColumn, type AnyTable, BaseQueryBuilder, type ColumnDataType, type ColumnOptions, type ColumnValueTypes, DeleteQueryBuilder, type ExtractColumnType, type InferInsertModel, type InferSelectModel, InsertQueryBuilder, ManyRelation, type Mode, OneRelation, Relation, type RelationConfig, type RelationType, type RelationsBuilder, type SQLCondition, SQLiteColumn, SelectQueryBuilder, Table, TauriORM, UpdateQueryBuilder, WithQueryBuilder, alias, and, asc, avg, blob, boolean, count, countDistinct, desc, enumType, eq, getTableColumns, gt, gte, inArray, integer, isNotNull, isNull, like, lt, lte, max, min, not, numeric, or, real, relations, sql, sqliteTable, sum, text };