import { type EntitySchemaWithMeta, EntityManager, type AnyEntity, type ConnectionType, type EntityData, type EntityName, type EntityRepository, type GetRepository, type QueryResult, type FilterQuery, type LoggingOptions, type RawQueryFragment } from '@mikro-orm/core'; import type { AbstractSqlDriver } from './AbstractSqlDriver.js'; import type { NativeQueryBuilder } from './query/NativeQueryBuilder.js'; import type { QueryBuilder } from './query/QueryBuilder.js'; import type { SqlEntityRepository } from './SqlEntityRepository.js'; import type { Kysely } from 'kysely'; import type { InferClassEntityDB, InferKyselyDB } from './typings.js'; import { type MikroKyselyPluginOptions } from './plugin/index.js'; /** Options for `SqlEntityManager.getKysely()`. */ export interface GetKyselyOptions extends MikroKyselyPluginOptions { /** Connection type to use (`'read'` or `'write'`). */ type?: ConnectionType; } /** * @inheritDoc */ export declare class SqlEntityManager extends EntityManager { /** * Creates a QueryBuilder instance */ createQueryBuilder(entityName: EntityName | QueryBuilder, alias?: RootAlias, type?: ConnectionType, loggerContext?: LoggingOptions): QueryBuilder; /** * Shortcut for `createQueryBuilder()` */ qb(entityName: EntityName, alias?: RootAlias, type?: ConnectionType, loggerContext?: LoggingOptions): QueryBuilder; /** * Returns configured Kysely instance. */ getKysely(options?: TOptions): Kysely, TOptions> & InferClassEntityDB, TOptions> : TDB>; /** Executes a raw SQL query, using the current transaction context if available. */ execute | EntityData[] = EntityData[]>(query: string | NativeQueryBuilder | RawQueryFragment, params?: any[], method?: 'all' | 'get' | 'run', loggerContext?: LoggingOptions): Promise; getRepository = SqlEntityRepository>(entityName: EntityName): GetRepository; protected applyDiscriminatorCondition(entityName: EntityName, where: FilterQuery): FilterQuery; } type EntitiesFromManager> = NonNullable extends any[] ? Extract[number], EntitySchemaWithMeta> : never; type AllEntitiesFromManager> = NonNullable extends any[] ? NonNullable[number] : never; export {};