import { EntityRepository, type EntityName } from '@mikro-orm/core';
import type { SqlEntityManager } from './SqlEntityManager.js';
import type { QueryBuilder } from './query/QueryBuilder.js';
/** SQL-specific entity repository with QueryBuilder support. */
export declare class SqlEntityRepository<Entity extends object> extends EntityRepository<Entity> {
  protected readonly em: SqlEntityManager;
  constructor(em: SqlEntityManager, entityName: EntityName<Entity>);
  /**
   * Creates a QueryBuilder instance
   */
  createQueryBuilder<RootAlias extends string = never>(alias?: RootAlias): QueryBuilder<Entity, RootAlias>;
  /**
   * Shortcut for `createQueryBuilder()`
   */
  qb<RootAlias extends string = never>(alias?: RootAlias): QueryBuilder<Entity, RootAlias>;
  /**
   * @inheritDoc
   */
  getEntityManager(): SqlEntityManager;
}
