import { TypeCrud } from "./enums/type-crud"; import { DatabaseBase, DatabaseResult } from "../definitions/database-definition"; import { CrudBaseBuilder } from "./crud-base-builder"; import { ColumnsValuesBuilder } from "../core/columns-values-builder"; import { MapperTable } from "../mapper-table"; import { QueryCompiled } from "../core/query-compiled"; import { SqlBase } from "./sql-base"; import { Observable } from "rxjs"; export declare abstract class CrudBase, TColumnsBuilder extends ColumnsValuesBuilder> extends SqlBase { private _typeCrud; readonly __allowInTransaction: boolean; protected readonly _builder: TBuilder; constructor(_typeCrud: TypeCrud, { mapperTable, builder, database, enableLog }: { mapperTable: MapperTable; builder: TBuilder; database?: DatabaseBase; enableLog?: boolean; }); protected dependencies(): MapperTable[]; protected model(): T | Array; protected builderCompiled(): QueryCompiled | QueryCompiled[]; protected checkDatabaseResult(observable: Observable): Observable; /** * rowsAffected: 3 * id: 6 */ protected setKeyByResult(models: Array, result: DatabaseResult): T[]; }