import { ProviderFactory } from '@uidu/editor-common';
import { Plugin, PluginKey, Transaction } from 'prosemirror-state';
import { DecorationSet } from 'prosemirror-view';
import { Dispatch } from '../../event-dispatcher';
import { Participants, ReadOnlyParticipants } from './participants';
import type { CollabEditProvider } from './provider';
import { CollabEditOptions } from './types';
export type { CollabEditProvider };
export declare const pluginKey: PluginKey<any>;
export declare const createPlugin: (dispatch: Dispatch, providerFactory: ProviderFactory, options?: CollabEditOptions, sanitizePrivateContent?: boolean) => Plugin<any>;
export declare class PluginState {
    private decorationSet;
    private participants;
    private sid?;
    isReady: boolean;
    get decorations(): DecorationSet;
    get activeParticipants(): ReadOnlyParticipants;
    get sessionId(): string;
    constructor(decorations: DecorationSet, participants: Participants, sessionId?: string, collabInitalised?: boolean);
    getInitial(sessionId: string): string;
    apply(tr: Transaction): PluginState;
    static init(config: any): PluginState;
}
