import { Comment, CommentTag, CreateReviewRequest, ReviewListItem, ReviewWithPages, ReviewAssignment, ReviewerInfo, ItemWithSubtree, ReviewWithAssignments } from "../../types";
import { ItemDescriptor } from "../pageModel";
export declare function createOrUpdateComment(comment: Comment, reviewId?: string): Promise<import("./serviceHelper").ExecutionResult<unknown>>;
export declare function getComments(itemId: string, language: string, version: number, reviewId?: string): Promise<import("./serviceHelper").ExecutionResult<Comment[]>>;
export declare function getLatestComments(take?: number, language?: string): Promise<import("./serviceHelper").ExecutionResult<Comment[]>>;
export declare function resolveComment(comment: Comment): Promise<import("./serviceHelper").ExecutionResult<Comment>>;
export declare function unresolveComment(comment: Comment): Promise<import("./serviceHelper").ExecutionResult<Comment>>;
export declare function deleteComment(comment: Comment): Promise<import("./serviceHelper").ExecutionResult<unknown>>;
export declare function getReviews(itemId: string, language: string, version: number): Promise<import("./serviceHelper").ExecutionResult<ReviewWithAssignments[]>>;
export declare function approveReview(itemDescriptor: ItemDescriptor): Promise<import("./serviceHelper").ExecutionResult<unknown>>;
export declare function rejectReview(itemDescriptor: ItemDescriptor): Promise<import("./serviceHelper").ExecutionResult<unknown>>;
export declare function createReview(request: CreateReviewRequest): Promise<import("./serviceHelper").ExecutionResult<{
    reviewId: string;
}>>;
export declare function suggestReviewName(req: {
    itemIds: string[];
    languages: string[];
    reviewerCount?: number;
    includeSubitems?: boolean;
}): Promise<string | null>;
export declare function getAllReviews(): Promise<import("./serviceHelper").ExecutionResult<ReviewListItem[]>>;
export declare function getMyReviews(options?: {
    excludeFinished?: boolean;
}): Promise<import("./serviceHelper").ExecutionResult<ReviewListItem[]>>;
export declare function getReviewStatus(reviewId: string): Promise<import("./serviceHelper").ExecutionResult<{
    review: ReviewWithPages;
    assignments: ReviewAssignment[];
    items: {
        itemId: string;
        language: string;
        includeSubitems: boolean;
    }[];
    requiresSecret?: boolean;
    secretValidated?: boolean;
    expired?: boolean;
}>>;
export declare function addReviewers(reviewId: string, reviewers: ReviewerInfo[]): Promise<import("./serviceHelper").ExecutionResult<unknown>>;
export declare function removeReviewer(assignmentId: string): Promise<import("./serviceHelper").ExecutionResult<unknown>>;
export declare function sendInvitations(assignmentIds: string[]): Promise<import("./serviceHelper").ExecutionResult<unknown>>;
export declare function setItemDecision(assignmentId: string, itemId: string, itemLanguage: string, itemVersion: number | undefined, decision: "Approved" | "Rejected"): Promise<import("./serviceHelper").ExecutionResult<unknown>>;
export declare function setFinalDecision(reviewId: string, decision: "Approved" | "Rejected"): Promise<import("./serviceHelper").ExecutionResult<unknown>>;
export declare function addPagesToReview(reviewId: string, items: ItemWithSubtree[]): Promise<import("./serviceHelper").ExecutionResult<unknown>>;
export declare function removePagesFromReview(reviewId: string, items: ItemDescriptor[]): Promise<import("./serviceHelper").ExecutionResult<unknown>>;
export declare function unlockReview(reviewId: string, secret: string): Promise<import("./serviceHelper").ExecutionResult<{
    secretValid: boolean;
    requiresSecret: boolean;
    expired: boolean;
}>>;
export declare function deleteReview(reviewId: string): Promise<import("./serviceHelper").ExecutionResult<{
    success: boolean;
}>>;
export declare function updateReviewSettings(reviewId: string, languages: string[], secret?: string, updateWorkflowOnCompletion?: boolean, requiredApprovals?: number, removeSecret?: boolean, shareCommentsAndSuggestions?: boolean): Promise<import("./serviceHelper").ExecutionResult<{
    success: boolean;
}>>;
export declare function getPreconfiguredReviewers(itemIds: string[], language?: string): Promise<import("./serviceHelper").ExecutionResult<ReviewerInfo[]>>;
export declare function getCommentsByRelatedItem(itemId: string): Promise<import("./serviceHelper").ExecutionResult<Comment[]>>;
export declare function addRelatedItemToComment(commentId: string, itemId: string): Promise<import("./serviceHelper").ExecutionResult<unknown>>;
export declare function removeRelatedItemFromComment(commentId: string, itemId: string): Promise<import("./serviceHelper").ExecutionResult<unknown>>;
export declare function getAvailableCommentTags(descriptor: ItemDescriptor): Promise<CommentTag[]>;
