import { PropertyLevel } from '@contrail/types'; import { CropDefinition, LineDefinition, MaskDefinition, PositionDefinition, RotationDefinition, SizeDefinition } from './common'; import { Document } from './document'; import { ScaleTransformation } from './element-transformation'; export interface AlternateUrls { highResolution?: string; lowResolution?: string; tinyResolution?: string; originalFile?: string; } export interface LinkedEdgeDefinition { id?: string; position?: PositionDefinition; location?: 'auto' | 'top' | 'bottom' | 'left' | 'right'; } export interface DocumentElement extends Document { id?: string; specifiedId?: string; documentId?: string; sortIndex?: string; type?: string; rotate?: RotationDefinition; flipH?: boolean; flipV?: boolean; scale?: ScaleTransformation; text?: string; url?: string; alternateUrls?: AlternateUrls; propertyBindings?: any; lineDefinition?: LineDefinition; label?: string; annotations?: any; isLocked?: boolean; cropDefinition?: CropDefinition; maskDefinition?: MaskDefinition; embedInfo?: any; isHidden?: boolean; elementIds?: Array; isTextTool?: boolean; documentGenerationConfigId?: string; entityData?: any; points?: Array<[number, number]>; rowIds?: Array; columnIds?: Array; columnId?: string; rowId?: string; tableId?: string; colspan?: number; rowspan?: number; start?: LinkedEdgeDefinition; end?: LinkedEdgeDefinition; imageSize?: SizeDefinition; imagePosition?: PositionDefinition; propertyBindingsMetaData?: { displayFunction: string; propertyType: string; typeId?: string; numberFormat?: any; dateFormat?: any; displayLabel?: boolean; propertyLevel?: PropertyLevel; }; }