import { RelativeRect } from '../../../../../common/utils/relative-rect';
import { HyperlinkInfo } from '../../../../../common/model/fields/field';
import { AnchorObjectHorizontalPositionAlignment, AnchorObjectHorizontalPositionType, AnchorObjectTextWrapSide, AnchorObjectTextWrapType, AnchorObjectVerticalPositionAlignment, AnchorObjectVerticalPositionType, RelativeHeightType, RelativeWidthType } from '../../../../../common/model/floating-objects/enums';
import { TextBoxProperties } from '../../../../../common/model/floating-objects/text-box-properties';
import { NonVisualDrawingObjectInfo } from '../../../../../common/model/manipulators/picture-manipulator/non-visual-drawing-object-info';
import { AnchoredPictureRun } from '../../../../../common/model/runs/anchored-picture-run';
import { AnchoredTextBoxRun } from '../../../../../common/model/runs/anchored-text-box-run';
import { InlinePictureRun } from '../../../../../common/model/runs/inline-picture-run';
import { Shape } from '../../../../../common/model/shapes/shape';
import { Point } from '@devexpress/utils/lib/geometry/point';
import { Size } from '@devexpress/utils/lib/geometry/size';
export interface IOpenXMLDrawingObject {
    isFloatingObject: boolean;
    containerProperties: NonVisualDrawingObjectInfo;
    nonVisualDrawingObjectProperties: NonVisualDrawingObjectInfo;
    actualSize: Size;
    rotation: number;
    lockAspectRatio: boolean;
    allowOverlap: boolean;
    isBehindDoc: boolean;
    layoutInTableCell: boolean;
    locked: boolean;
    zOrder: number;
    useBottomDistance: boolean;
    bottomDistance: number;
    useLeftDistance: boolean;
    leftDistance: number;
    useRightDistance: boolean;
    rightDistance: number;
    useTopDistance: boolean;
    topDistance: number;
    useHidden: boolean;
    hidden: boolean;
    horizontalPositionAlignment: AnchorObjectHorizontalPositionAlignment;
    horizontalPositionType: AnchorObjectHorizontalPositionType;
    usePercentOffset: boolean;
    verticalPositionAlignment: AnchorObjectVerticalPositionAlignment;
    verticalPositionType: AnchorObjectVerticalPositionType;
    useRotation: boolean;
    textWrapType: AnchorObjectTextWrapType;
    textWrapSide: AnchorObjectTextWrapSide;
    shape: Shape;
    useRelativeWidth: boolean;
    useRelativeHeight: boolean;
    relativeSize: Size;
    relativeHeightType: RelativeHeightType;
    relativeWidthType: RelativeWidthType;
    offset: Point;
    percentOffset: Point;
    hyperlinkInfo: HyperlinkInfo;
    sourceRect: RelativeRect;
    isTextBox: boolean;
}
export declare class InlineDrawingObject implements IOpenXMLDrawingObject {
    private run;
    constructor(run: InlinePictureRun);
    get fillColor(): number;
    get isFloatingObject(): boolean;
    get containerProperties(): NonVisualDrawingObjectInfo;
    get nonVisualDrawingObjectProperties(): NonVisualDrawingObjectInfo;
    get actualSize(): Size;
    get rotation(): number;
    get lockAspectRatio(): boolean;
    get allowOverlap(): boolean;
    get isBehindDoc(): boolean;
    get layoutInTableCell(): boolean;
    get locked(): boolean;
    get zOrder(): number;
    get useBottomDistance(): boolean;
    get bottomDistance(): number;
    get useLeftDistance(): boolean;
    get leftDistance(): number;
    get useRightDistance(): boolean;
    get rightDistance(): number;
    get useTopDistance(): boolean;
    get topDistance(): number;
    get useHidden(): boolean;
    get hidden(): boolean;
    get horizontalPositionAlignment(): AnchorObjectHorizontalPositionAlignment;
    get horizontalPositionType(): AnchorObjectHorizontalPositionType;
    get usePercentOffset(): boolean;
    get verticalPositionAlignment(): AnchorObjectVerticalPositionAlignment;
    get verticalPositionType(): AnchorObjectVerticalPositionType;
    get useRotation(): boolean;
    get textWrapType(): AnchorObjectTextWrapType;
    get textWrapSide(): AnchorObjectTextWrapSide;
    get shape(): Shape;
    get useRelativeWidth(): boolean;
    get useRelativeHeight(): boolean;
    get relativeSize(): Size;
    get relativeHeightType(): RelativeHeightType;
    get relativeWidthType(): RelativeWidthType;
    get offset(): Point;
    get percentOffset(): Point;
    get hyperlinkInfo(): HyperlinkInfo;
    get sourceRect(): RelativeRect;
    get isTextBox(): boolean;
}
export declare class AnchoredDrawingObject<TRun extends AnchoredPictureRun | AnchoredTextBoxRun> implements IOpenXMLDrawingObject {
    protected run: TRun;
    constructor(run: TRun);
    get fillColor(): number;
    get isFloatingObject(): boolean;
    get containerProperties(): NonVisualDrawingObjectInfo;
    get nonVisualDrawingObjectProperties(): NonVisualDrawingObjectInfo;
    get actualSize(): Size;
    get rotation(): number;
    get lockAspectRatio(): boolean;
    get allowOverlap(): boolean;
    get isBehindDoc(): boolean;
    get layoutInTableCell(): boolean;
    get locked(): boolean;
    get zOrder(): number;
    get useBottomDistance(): boolean;
    get bottomDistance(): number;
    get useLeftDistance(): boolean;
    get leftDistance(): number;
    get useRightDistance(): boolean;
    get rightDistance(): number;
    get useTopDistance(): boolean;
    get topDistance(): number;
    get useHidden(): boolean;
    get hidden(): boolean;
    get horizontalPositionAlignment(): AnchorObjectHorizontalPositionAlignment;
    get horizontalPositionType(): AnchorObjectHorizontalPositionType;
    get usePercentOffset(): boolean;
    get verticalPositionAlignment(): AnchorObjectVerticalPositionAlignment;
    get verticalPositionType(): AnchorObjectVerticalPositionType;
    get useRotation(): boolean;
    get textWrapType(): AnchorObjectTextWrapType;
    get textWrapSide(): AnchorObjectTextWrapSide;
    get shape(): Shape;
    get useRelativeWidth(): boolean;
    get useRelativeHeight(): boolean;
    get relativeSize(): Size;
    get relativeHeightType(): RelativeHeightType;
    get relativeWidthType(): RelativeWidthType;
    get offset(): Point;
    get percentOffset(): Point;
    get hyperlinkInfo(): HyperlinkInfo;
    get sourceRect(): RelativeRect;
    get isTextBox(): boolean;
}
export declare class AnchoredDrawingPictureObject extends AnchoredDrawingObject<AnchoredPictureRun> {
    constructor(run: AnchoredPictureRun);
}
export declare class AnchoredDrawingTextObject extends AnchoredDrawingObject<AnchoredTextBoxRun> {
    constructor(run: AnchoredTextBoxRun);
    get actualSize(): Size;
    get useRelativeWidth(): boolean;
    get useRelativeHeight(): boolean;
    get relativeSize(): Size;
    get relativeHeightType(): RelativeHeightType;
    get relativeWidthType(): RelativeWidthType;
    get textBoxProperties(): TextBoxProperties;
    get isTextBox(): boolean;
}
