import { EntityMetadata } from "../metadata/EntityMetadata";
import { Connection } from "../connection/Connection";
import { Repository } from "./Repository";
import { SpecificRepository } from "./SpecificRepository";
import { QueryRunner } from "../query-runner/QueryRunner";
/**
 * Factory used to create different types of repositories.
 */
export declare class RepositoryFactory {
    /**
     * Creates a regular repository.
     */
    createRepository(connection: Connection, metadata: EntityMetadata, queryRunner?: QueryRunner): Repository<any>;
    /**
     * Creates a specific repository.
     */
    createSpecificRepository(connection: Connection, metadata: EntityMetadata, queryRunner?: QueryRunner): SpecificRepository<any>;
}
