import { IDataObject } from "./data-object"; import { IUserState } from "./user-state"; export interface IAnnotationContainerObject { get container(): IAnnotationContainer; get source(): IDataObject; get attributes(): any; get markups(): IMarkup[]; get statesInfo(): IAnnotationStatesInfo; } export interface IAnnotationContainer { get annotationId(): string; get version(): string; get positionX(): number; get positionY(): number; get pageNumber(): number; get data(): string; get kind(): string; } export interface IMarkup { get annotationId(): string; get id(): number; get page(): number; get style(): IMarkupStyle | undefined; get subtype(): MarkupSubtype; } export interface IMarkupStyle { get colorRgb(): number | undefined; get strokeWidth(): number | undefined; get backgroundColorRgb(): number | undefined; get lineStyle(): MarkupLineStyle | undefined; } export declare enum MarkupLineStyle { Solid = 0, Dashed = 1, Beveled = 2, Inset = 3, Underline = 4 } export declare enum BorderEffect { None = 0, Cloud = 1 } export interface IAnnotationStatesInfo { get states(): Map; get availableTransitions(): IStateTransitionCommandArg[]; get metadataVersion(): number; } export interface IStateTransitionCommandArg { get stateTo(): IUserState; get transitionTitle(): string; get attrName(): string; } export interface IEllipseMarkup extends IMarkup { get center(): MarkupPoint; get radiusX(): number; get radiusY(): number; } export interface IRectangleMarkup extends IMarkup { get bounds(): MarkupRect; } export interface ILineMarkup extends IMarkup { get start(): MarkupPoint; get end(): MarkupPoint; get startEnding(): MarkupLineEndings; get endEnding(): MarkupLineEndings; } export interface IPolylineMarkup extends IMarkup { get points(): MarkupPoint[]; get borderEffect(): BorderEffect; } export interface IPolygonMarkup extends IMarkup { get points(): MarkupPoint[]; get borderEffect(): BorderEffect; } export interface IInkMarkup extends IMarkup { get points(): MarkupPoint[]; } export interface IFreeTextMarkup extends IMarkup { get bounds(): MarkupRect; get text(): string; } export interface ITextDecorationMarkup extends IMarkup { get quadPoints(): MarkupPoint[]; get kind(): MarkupTextDecorationKind; } export interface ITextMarkup extends IMarkup { get bounds(): MarkupRect; } export declare enum MarkupTextDecorationKind { Highlight = 0, Underline = 1, Squiggly = 2, StrikeOut = 3 } export type MarkupPoint = { x: number; y: number; }; export type MarkupRect = { x: number; y: number; width: number; height: number; }; export declare enum MarkupLineEndings { None = 0, Square = 1, Circle = 2, Diamond = 3, OpenArrow = 4, ClosedArrow = 5 } export type MarkupSubtype = 'Link' | 'Text' | 'Widget' | 'Popup' | 'FreeText' | 'Line' | 'Arrow' | 'Square' | 'Circle' | 'PolyLine' | 'Polygon' | 'Cloud' | 'Caret' | 'Ink' | 'Highlight' | 'Underline' | 'Squiggly' | 'StrikeOut' | 'Stamp' | 'FileAttachment';