import type { MutatorContext, Schema, TableInsertRow, TableName, TableUpdateRow, Where } from './types'; import type { TableBuilderWithColumns } from '@rocicorp/zero'; type SchemaTableBuilder = TableBuilderWithColumns; type MutationBuilder = (ctx: MutatorContext, obj?: Obj) => Promise; type MutationBuilders = Record; type GenericTable = TableBuilderWithColumns; type CRUDMutations = { insert: MutationBuilder>; upsert: MutationBuilder>; update: MutationBuilder>; delete: MutationBuilder>; }; type CRUDNames = 'insert' | 'upsert' | 'update' | 'delete'; type MutationOptions = { crud?: CRUD; }; type MutationsWithCRUD
= { [Key in CRUDNames | keyof Mutations]: Key extends keyof Mutations ? Mutations[Key] : Key extends keyof CRUDMutations ? CRUDMutations
[Key] : never; }; export declare function mutations(mutations: Mutations): Mutations; export declare function mutations
(table: Table, permissions: Permissions): MutationsWithCRUD; export declare function mutations
(table: Table, permissions: Permissions, mutations: Mutations, options?: MutationOptions): CRUD extends false ? Mutations : MutationsWithCRUD; export declare function mutations(tableName: TName, permissions: Permissions): MutationsWithCRUD, {}>; export declare function mutations(tableName: TName, permissions: Permissions, mutations: Mutations, options?: MutationOptions): CRUD extends false ? Mutations : MutationsWithCRUD, Mutations>; export {}; //# sourceMappingURL=mutations.d.ts.map