import type { Knex } from 'knex'; import { Dialect } from './dialects'; import { SchemaProvider } from './schema'; import { Metadata } from './metadata'; import { EntityManager } from './entity-manager'; import { MigrationProvider, type Migration } from './migrations'; import { LifecycleProvider } from './lifecycles'; import * as errors from './errors'; import { Callback, TransactionObject } from './transaction-context'; import type { Model } from './types'; import type { Identifiers } from './utils/identifiers'; import { type RepairManager } from './repairs'; export { isKnexQuery } from './utils/knex'; interface Settings { forceMigration?: boolean; runMigrations?: boolean; migrations: { dir: string; }; [key: string]: unknown; } export type Logger = Record<'info' | 'warn' | 'error' | 'debug', (message: string | Record) => void>; export interface DatabaseConfig { connection: Knex.Config; settings: Settings; logger?: Logger; } declare class Database { connection: Knex; dialect: Dialect; config: DatabaseConfig; metadata: Metadata; schema: SchemaProvider; migrations: MigrationProvider; lifecycles: LifecycleProvider; entityManager: EntityManager; repair: RepairManager; logger: Logger; constructor(config: DatabaseConfig); init({ models }: { models: Model[]; }): Promise; query(uid: string): import("./entity-manager").Repository; inTransaction(): boolean; transaction(): Promise; transaction(c: TCallback): Promise>; getSchemaName(): string | undefined; getConnection(): Knex; getConnection(tableName?: string): Knex.QueryBuilder; getInfo(): { displayName: string; schema: any; client: string; }; getSchemaConnection(trx?: Knex): Knex.SchemaBuilder; queryBuilder(uid: string): import("./query/query-builder").QueryBuilder; destroy(): Promise; } export { Database, errors }; export type { Model, Identifiers, Migration }; //# sourceMappingURL=index.d.ts.map