import { BaseMetadata } from "./base-metadata.data.model";
import { CommentAnnotation, GhostComment, InlineCommentSectionConfig } from "./comment-annotation.data.model";
import { CursorPosition } from "./cursor-position.data.model";
import { Location } from "./location.model";
import { TargetElement } from "./target-element.data.model";
import { TargetTextRange } from "./target-text-range.data.model";
import { User } from "./user.data.model";
export declare class MultiThreadCommentAnnotation {
    /**
     * The id of the annotation.
     */
    annotationId: string;
    /**
     * The id of the area annotation.
     */
    areaAnnotationId?: string;
    /**
     * The target element of the annotation.
     */
    targetElement?: TargetElement | null;
    /**
     * The id of the target element.
     */
    targetElementId?: string | null;
    /**
     * Selected text range of comment annotation
     */
    targetTextRange?: TargetTextRange | null;
    /**
     * The id of the target inline comment element.
     */
    targetInlineCommentElementId?: string;
    /**
     * The inline comment section config.
     */
    inlineCommentSectionConfig?: InlineCommentSectionConfig;
    commentAnnotations?: {
        [commentAnnotationId: string]: boolean;
    };
    commentAnnotationsMap?: {
        [commentAnnotationId: string]: CommentAnnotation;
    };
    /**
     * Unique location id generated from provided location
     */
    locationId?: number | null;
    /**
     * Set location to identify user on sub document
     */
    location?: Location | null;
    position?: CursorPosition | null;
    ghostComment?: GhostComment | null;
    from: User;
    type: string;
    isDraft?: boolean;
    sourceId?: string;
    metadata?: MultiThreadMetadata;
    isTemporary?: boolean;
    context?: any;
}
export declare class MultiThreadMetadata extends BaseMetadata {
    [key: string]: any;
}
