import React from 'react';
import { CollaborationObjectTypes, Comment, CommentsMap, CommentState, Reply } from '@reltio/mdm-sdk';
export declare const InitialCollaborationContextValue: {
    comments: any[];
    commentsMap: any;
    currentComment: any;
    updateCommentState: any;
    clearCommentState: any;
    getCommentState: () => {};
    getComment: any;
    getComments: () => Promise<void>;
    getCommentsCount: any;
    createComment: () => Promise<void>;
    editComment: () => Promise<void>;
    createReply: () => Promise<void>;
    resolveThread: any;
    reOpenThread: any;
    clearCurrentComment: any;
    deleteComment: any;
    sending: boolean;
    loading: boolean;
    pageToken: any;
    deleteReply: any;
    editReply: () => Promise<void>;
    totalCommentsCount: any;
};
export declare const CollaborationContext: React.Context<{
    objectTypes?: CollaborationObjectTypes[];
    commentsMap: CommentsMap;
    comments: Comment[];
    currentComment: Comment;
    updateCommentState: (uri: string, commentUri: string, newState: CommentState) => void;
    clearCommentState: (uri: string, commentUri: string) => void;
    getCommentState: (uri: string, commentUri: string) => CommentState;
    getComments: (uri: string, pageToken?: string) => void;
    getCommentsCount: (objectIds: string[]) => void;
    getComment: (commentId: Comment["commentId"]) => void;
    createComment: (params: Pick<Comment, "content" | "namedUsers" | "objectType" | "relatedObjectUris"> & {
        uri: string;
    }) => Promise<void>;
    editComment: (params: Pick<Comment, "content" | "namedUsers" | "objectType" | "relatedObjectUris" | "commentId" | "replies"> & {
        uri: string;
    }) => Promise<void>;
    editReply: (params: Pick<Reply, "content" | "namedUsers" | "replyId"> & {
        commentId: string;
    }) => Promise<void>;
    deleteComment: (params: Pick<Comment, "commentId"> & {
        uri: string;
    }) => void;
    deleteReply: (params: {
        uri: string;
        commentId: string;
        reply: Pick<Reply, "action" | "replyId">;
    }) => void;
    createReply: (params: Pick<Reply, "content" | "namedUsers" | "action"> & {
        uri: string;
        commentId: string;
    }) => Promise<void>;
    resolveThread: (params: {
        uri: string;
        commentId: string;
    }) => void;
    reOpenThread: (params: {
        uri: string;
        commentId: string;
    }) => void;
    clearCurrentComment: () => void;
    sending: boolean;
    loading: boolean;
    pageToken: string;
    totalCommentsCount: number | null;
}>;
export declare const CollaborationContextProvider: ({ collaboration, children }: {
    collaboration: any;
    children: any;
}) => React.JSX.Element;
