import { BaseMetadata } from "./base-metadata.data.model";
import { CursorPosition } from "./cursor-position.data.model";
import { Location } from "./location.model";
import { PageInfo } from "./page-info.model";
import { Reaction } from "./reaction.data.model";
import { TargetElement } from "./target-element.data.model";
import { Context, User } from "./user.data.model";
export declare class ReactionAnnotation {
    /**
     * Unique identifier for the reaction pin annotation.
     *
     * Auto generated.
     */
    annotationId: string;
    context?: Context;
    /**
     * Connected comment annotation id of reaction annotation
     */
    commentAnnotationId?: string;
    reactions?: Reaction[];
    /**
     * Timestamp when the reaction annotation was last updated.
     *
     * Auto generated.
     */
    lastUpdated?: any;
    /**
     * Target element of reaction annotation
     */
    targetElement?: TargetElement | null;
    /**
     * Target element id provided by user
     */
    targetElementId?: string | null;
    position?: CursorPosition | null;
    /**
     * Unique location id generated from provided location
     */
    locationId?: number | null;
    /**
     * Set location to identify user on sub document
     */
    location?: Location | null;
    type?: string;
    /**
     * To maintain index of current annotation in available list of annotations
     * It will start from 1, so no need to add 1 in that.
     */
    annotationIndex?: number;
    pageInfo?: PageInfo;
    from?: User;
    icon?: string;
    isReactionResolverUsed?: boolean;
    iconUrl?: string;
    iconEmoji?: string;
    metadata?: ReactionMetadata;
}
export declare class ReactionMetadata extends BaseMetadata {
    [key: string]: any;
}
export declare class ReactionMap {
    [reactionId: string]: ReactionItem;
}
export declare class ReactionItem {
    url?: string;
    svg?: string;
    emoji?: string;
}
