import { ConnectorStatus } from "./connector-status.enum";
import { Native } from "../native/native.type";
import { SyncedSubscriber } from "../subscriber/subscriber";
import { YMap, YDoc } from "../../index";
export default abstract class Connector {
    static STATE_KEY: string;
    yDoc: YDoc | null;
    yBaseMap: YMap<any> | null;
    clientId: number;
    synced: boolean;
    status: ConnectorStatus;
    protected syncedSubscribers: SyncedSubscriber[];
    subscribeSynced(callback: SyncedSubscriber): () => void;
    unsubscribeSynced(callback: SyncedSubscriber): void;
    unsubscribeAllSynced(): void;
    protected emitSynced(synced: boolean): void;
    afterSynced(callback: () => void): void;
    waitSynced(): Promise<void>;
    constructor();
    hasState(): boolean;
    getState(): Native;
    setState(state: Native): void;
    abstract connect(text: string): Promise<void>;
    abstract disconnect(): Promise<void>;
}
export declare function websocketRhineConnect(url: string): void;
//# sourceMappingURL=connector.abstract.d.ts.map