import { Query } from "./query/query"; import { Insert } from "./insert/insert"; import { Update } from "./update/update"; import { MetadataTable } from "../metadata-table"; import { Delete } from "./delete/delete"; import { DatabaseBase } from "../definitions/database-definition"; import { GetMapper } from "../mapper/interface-get-mapper"; import { QueryBuilder } from "./query/query-builder"; import { MetadataTableBase } from "../metadata-table-base"; import { ConfigDatabase } from "./config-database"; export declare class Crud { private _config; enableLog: boolean; private _database; private _getMapper; constructor(_config: ConfigDatabase, { getMapper, database, enableLog }?: { getMapper?: GetMapper; database?: DatabaseBase; enableLog?: boolean; }); delete(typeT: new () => T, { modelToSave, metadata, database }?: { modelToSave?: T; metadata?: MetadataTable; database?: DatabaseBase; }): Delete; deleteByKey(typeT: new () => T, key: any, { metadata, database }?: { metadata?: MetadataTable; database?: DatabaseBase; }): Delete; update(typeT: new () => T, { toSave, alias, metadata, database }?: { toSave?: T; alias?: string; metadata?: MetadataTable; database?: DatabaseBase; }): Update; insert(typeT: new () => T, { toSave, alias, metadata, database }?: { toSave?: T | Array; alias?: string; metadata?: MetadataTable; database?: DatabaseBase; }): Insert; query(typeT: (new () => T) | QueryBuilder | { _builder: () => QueryBuilder; }, { alias, metadata, database }?: { alias?: string; metadata?: MetadataTableBase; database?: DatabaseBase; }): Query; private getDatabase; private getMapper; }