import * as types from 'open-collaboration-protocol';
import * as Y from 'yjs';
import * as awarenessProtocol from 'y-protocols/awareness';
import { ObservableV2 } from 'lib0/observable';
export interface AwarenessChange {
    added: number[];
    updated: number[];
    removed: number[];
}
export declare const LOCAL_ORIGIN = "local";
export interface YjsProviderOptions {
    resyncTimer?: number;
}
export declare class OpenCollaborationYjsProvider extends ObservableV2<string> {
    private connection;
    private doc;
    private awareness;
    constructor(connection: types.ProtocolBroadcastConnection, doc: Y.Doc, awareness: awarenessProtocol.Awareness, options?: YjsProviderOptions);
    private setResyncInterval;
    private ocpDataUpdateHandler;
    private ocpAwarenessUpdateHandler;
    private ocpAwarenessQueryHandler;
    private yjsUpdateHandler;
    private yjsAwarenessUpdateHandler;
    connect(): void;
    dispose(): void;
    private encode;
    private decode;
}
//# sourceMappingURL=yjs-provider.d.ts.map