import { C8oCore } from "./c8oCore";
import { C8oResponseListener } from "./c8oResponse";
export declare class C8oFullSyncDatabase {
    private c8o;
    private databaseName;
    private remotedatabaseName;
    private c8oFullSyncDatabaseUrl;
    private database;
    private pullFullSyncReplication;
    private pushFullSyncReplication;
    private syncFullSyncReplication;
    private manual_canceled;
    private remotePouchHeader;
    private _id;
    private to_cancel;
    constructor(c8o: C8oCore, databaseName: string, fullSyncDatabases: string, localSuffix: string, localPrefix: string);
    remoteDatabaseVersion(): Promise<{}>;
    localDatabaseVersion(): Promise<any>;
    checkResetBase(): Promise<boolean>;
    resetMyBase(): Promise<void>;
    startAllReplications(parameters: Object, c8oResponseListener: C8oResponseListener, handler: any, id?: any, mutex?: any): Promise<any>;
    startPullReplication(parameters: Object, c8oResponseListener: C8oResponseListener, handler: any, id?: any, mutex?: any): Promise<any>;
    startPushReplication(parameters: Object, c8oResponseListener: C8oResponseListener, handler: any, id?: any, mutex?: any): Promise<any>;
    private startSync;
    private startReplication;
    readonly getdatabseName: string;
    readonly getdatabase: any;
    deleteDB(): Promise<any>;
    cancelPullReplication(): void;
    cancelPushReplication(): void;
    cancelSyncReplication(): void;
}
export interface ReplicationState {
    listener: any;
    parameters: any;
    type: any;
    database: C8oFullSyncDatabase;
    stopped: Boolean;
}
