import { Driver } from "../driver/Driver"; import { Repository } from "../repository/Repository"; import { EntitySubscriberInterface } from "../subscriber/EntitySubscriberInterface"; import { ObjectType } from "../common/ObjectType"; import { EntityManager } from "../entity-manager/EntityManager"; import { TreeRepository } from "../repository/TreeRepository"; import { NamingStrategyInterface } from "../naming-strategy/NamingStrategyInterface"; import { EntityMetadata } from "../metadata/EntityMetadata"; import { Logger } from "../logger/Logger"; import { MigrationInterface } from "../migration/MigrationInterface"; import { MongoRepository } from "../repository/MongoRepository"; import { MongoEntityManager } from "../entity-manager/MongoEntityManager"; import { ConnectionOptions } from "./ConnectionOptions"; import { QueryRunner } from "../query-runner/QueryRunner"; import { SelectQueryBuilder } from "../query-builder/SelectQueryBuilder"; import { QueryResultCache } from "../cache/QueryResultCache"; import { SqljsEntityManager } from "../entity-manager/SqljsEntityManager"; import { RelationLoader } from "../query-builder/RelationLoader"; import { RelationIdLoader } from "../query-builder/RelationIdLoader"; import { EntitySchema } from "../"; export declare class Connection { readonly name: string; readonly options: ConnectionOptions; readonly isConnected: boolean; readonly driver: Driver; readonly manager: EntityManager; readonly namingStrategy: NamingStrategyInterface; readonly logger: Logger; readonly migrations: MigrationInterface[]; readonly subscribers: EntitySubscriberInterface[]; readonly entityMetadatas: EntityMetadata[]; readonly queryResultCache?: QueryResultCache; readonly relationLoader: RelationLoader; readonly relationIdLoader: RelationIdLoader; constructor(options: ConnectionOptions); readonly mongoManager: MongoEntityManager; readonly sqljsManager: SqljsEntityManager; connect(): Promise; close(): Promise; synchronize(dropBeforeSync?: boolean): Promise; dropDatabase(): Promise; runMigrations(options?: { transaction?: boolean; }): Promise; undoLastMigration(options?: { transaction?: boolean; }): Promise; hasMetadata(target: Function | EntitySchema | string): boolean; getMetadata(target: Function | EntitySchema | string): EntityMetadata; getRepository(target: ObjectType | EntitySchema | string): Repository; getTreeRepository(target: ObjectType | EntitySchema | string): TreeRepository; getMongoRepository(target: ObjectType | EntitySchema | string): MongoRepository; getCustomRepository(customRepository: ObjectType): T; transaction(runInTransaction: (entityManager: EntityManager) => Promise): Promise; query(query: string, parameters?: any[], queryRunner?: QueryRunner): Promise; createQueryBuilder(entityClass: ObjectType | EntitySchema | Function | string, alias: string, queryRunner?: QueryRunner): SelectQueryBuilder; createQueryBuilder(queryRunner?: QueryRunner): SelectQueryBuilder; createQueryRunner(mode?: "master" | "slave"): QueryRunner; getManyToManyMetadata(entityTarget: Function | string, relationPropertyPath: string): EntityMetadata | undefined; createEntityManager(queryRunner?: QueryRunner): EntityManager; protected findMetadata(target: Function | EntitySchema | string): EntityMetadata | undefined; protected buildMetadatas(): void; }