import { CollaborationObjectTypes, Comment, CommentsMap, CommentState } from '@reltio/mdm-sdk';
type Props = {
    objectIds?: string[];
    objectTypes?: CollaborationObjectTypes[];
    enabled?: boolean;
    needsTotalCount?: boolean;
};
export declare const useCollaboration: ({ objectIds, objectTypes, enabled, needsTotalCount }: Props) => {
    clearCurrentComment: () => void;
    comments: Comment[];
    commentsMap: CommentsMap;
    getCommentState: (uri: string, commentUri: string) => any;
    updateCommentState: (uri: string, commentUri: string, newState: CommentState) => void;
    clearCommentState: (uri: string, commentUri: string) => void;
    createComment: ({ content, namedUsers, objectType, uri, relatedObjectUris }: any) => Promise<void>;
    createReply: ({ content, namedUsers, commentId, action, uri }: any) => Promise<void>;
    currentComment: Comment;
    deleteComment: ({ uri, commentId }: any) => void;
    editComment: ({ content, namedUsers, objectType, uri, relatedObjectUris, commentId, replies }: any) => Promise<void>;
    getComment: (commentId: string) => void;
    getComments: (relatedObjectUri: string, pageToken?: string) => void;
    getCommentsCount: (objectIds: string[], shouldResetCommentsMap?: any) => void;
    loading: boolean;
    objectTypes: CollaborationObjectTypes[];
    pageToken: string;
    reOpenThread: ({ commentId, uri }: any) => void;
    resolveThread: ({ commentId, uri }: any) => void;
    sending: boolean;
    deleteReply: ({ uri, commentId, reply }: any) => void;
    editReply: ({ content, namedUsers, commentId, replyId }: any) => Promise<void>;
    totalCommentsCount: number;
};
export {};
