import { AnnotationProperty } from "./annotation-property.data.model";
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 { TargetElement } from "./target-element.data.model";
import { Context, User } from "./user.data.model";
export declare class AreaAnnotation {
    /**
     * Unique identifier for the area pin annotation.
     *
     * Auto generated.
     */
    annotationId: string;
    context?: Context;
    /**
     * The user who created this area pin annotation.
     *
     */
    from: User;
    /**
     * Color used for the area pin annotation.
     *
     */
    color?: string;
    /**
     * Timestamp when the area annotation was last updated.
     *
     * Auto generated.
     */
    lastUpdated?: any;
    targetElement?: TargetElement | null;
    /**
     * Target elements of attached annotation.
     */
    targetElements?: (TargetElement | 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;
    props: AnnotationProperty;
    /**
     * 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;
    areaProperties?: AreaProperty;
    targetAnnotations: AreaTargetAnnotation[];
    metadata?: AreaMetadata;
}
export declare class AreaTargetAnnotation {
    /**
     * Type of the annotation (ex. comment, tag etc.)
     */
    type?: string;
    /**
     * Unique identifier for the annotation.
     */
    annotationId?: string;
    /**
     * Position reference to show this annotation on area annotation.
     */
    position?: string;
}
export declare class AreaProperty {
    targetElement?: string;
    handle1?: any;
    handle2?: any;
    coordinates?: any;
}
export declare class AreaMetadata extends BaseMetadata {
    [key: string]: any;
}
