import * as Realm from "realm";
import { Discovery } from "./discovery";
import { Logger } from "./shared/Logger";
import { RealmDirectoryClient } from "./service-clients/RealmDirectoryClient";
export interface RealmDefinition {
    remotePath: string;
    localPath?: string;
    syncLabel?: string;
    schema: any[];
}
export declare function createRealmSchema(klass: any): any;
export interface RealmFactoryParams {
    discovery: Discovery;
    dataPath: string;
    adminToken: string;
    logger: Logger;
    realmDirectoryClient: RealmDirectoryClient;
}
export declare class RealmFactory {
    private syncedRealmPromises;
    private discovery;
    private adminToken;
    private dataPath;
    private logger;
    private realmDirectoryClient;
    constructor(params: RealmFactoryParams);
    open(definition: RealmDefinition): Promise<Realm>;
    close(): Promise<void>;
    forceCloseRealm(remotePath: string, message: string, deleteAfterClose?: boolean): Promise<void>;
}
