import "reflect-metadata";
import * as RedisTypes from "redis";
import { EntityClass } from "./types";
import { Schema } from "./types/Schema";
export type RedisClient = RedisTypes.RedisClientType<RedisTypes.RedisDefaultModules, RedisTypes.RedisFunctions, RedisTypes.RedisScripts>;
export declare class DataSource {
    readonly client: RedisClient;
    readonly schemas: Schema[];
    readonly entities: EntityClass[];
    private synchronizeSchemas?;
    private createIndexes;
    constructor({ client, entities, sync, createIndexes }: {
        client: RedisClient;
        entities: EntityClass[];
        sync?: boolean;
        createIndexes: boolean;
    });
    private createSchema;
    private createIndex;
    initialize(): Promise<void>;
    getRepository(entity: new () => any): import("./repository/Repository").BaseEntityClassType<any>;
}
