import { Message } from "./Message";
import { ModificationsState, UserAccess } from "../../SharedDocuments/types";
/**
 * Server transport message.
 * */
export type ServerMessage = Message & {
    /**
     * Message type.
     * */
    type: ServerMessageType;
    /**
    *  Message data if any.
    **/
    data?: ServerMessageParameters;
};
/**
 * Server message type.
 * */
export declare enum ServerMessageType {
    Information = 10,
    Error = 11,
    /**
     * Shared document modifications.
     * */
    Modifications = 20,
    /**
     * This message type is used to get a list of shared documents when changed.
     * */
    SharedDocumentsListChanged = 45,
    UserAccessListResponse = 100,
    SharedDocumentsListResponse = 101,
    AllUsersListResponse = 102,
    OpenSharedDocumentResponse = 103,
    StartSharedModeResponse = 104,
    StopSharedModeResponse = 105
}
export type StartSharedModeResponse = {
    modifications: ModificationsState;
    userAccess: UserAccess;
    userAccessList: UserAccess[];
};
export type StopSharedModeResponse = {};
export type ServerMessageParameters = ModificationsState | StartSharedModeResponse | StopSharedModeResponse | string;
