type CommentId = string | number; export type GroupableComment = { commentId: CommentId; fileId?: CommentId | null; parentCommentId?: CommentId | null; threadingParentCommentId?: CommentId | null; trackedChange?: boolean; trackedChangeCanonicalId?: CommentId | null; trackedChangeSide?: string | null; trackedChangeParentId?: CommentId | null; trackedChangeThreadParentId?: CommentId | null; semanticColorKey?: string | null; createdTime?: number | null; resolvedTime?: number | null; }; type GroupedComments = { parentComments: Comment[]; resolvedComments: Comment[]; }; type CommittedReviewPresentation = { groupOrder: { open: readonly CommentId[]; resolved: readonly CommentId[]; }; }; type CommittedReviewPresentations = Readonly>; export declare const groupComments: (source: readonly Comment[], isVisible: (comment: Comment) => boolean) => GroupedComments; export declare const groupCommittedComments: (comments: readonly Comment[], presentations: CommittedReviewPresentations, isVisible: (comment: Comment) => boolean) => GroupedComments; export declare const hasOpenTrackedChange: ({ parentComments }: GroupedComments) => boolean; export {};