import { FactoryProvider } from '@nestjs/common';
import { EntityManager, MikroORM, EntityRepository, MetadataStorage } from '@mikro-orm/core';
import { EntityClass, ObjectLiteral, ResultMicroOrmModuleOptions, RunInTransaction } from '../../../types';
import { ZodEntityProps } from '../../mixin/types';
import { MicroOrmService } from '../service';
export declare function CurrentMicroOrmProvider(connectionName?: string): FactoryProvider<MikroORM>;
export declare function CurrentEntityManager(): FactoryProvider<EntityManager>;
export declare function CurrentEntityRepository<E extends ObjectLiteral>(entity: E): FactoryProvider<EntityRepository<E>>;
export declare function CurrentEntityMetadata(): FactoryProvider<MetadataStorage>;
export declare function EntityPropsMap<E extends ObjectLiteral>(entities: EntityClass<E>[]): {
    provide: symbol;
    inject: symbol[];
    useFactory: (metadataStorage: MetadataStorage, config: ResultMicroOrmModuleOptions) => Map<EntityClass<E>, ZodEntityProps<E>>;
};
export declare function RunInTransactionFactory(): FactoryProvider<RunInTransaction>;
export declare function OrmServiceFactory(): {
    provide: symbol;
    useClass: typeof MicroOrmService;
};
