/**
 * 2D markup object interface.
 */
export interface IMarkupObject {
    /**
     * Returns a reference to a core markup library object (Konva, VisualizeJS, etc.).
     */
    ref(): any;
    /**
     * Returns the internal identifier of the object. Not unique.
     */
    id(): string;
    /**
     * Enables or disables the ability to select and edit an object using the mouse.
     */
    enableMouseEditing(value: boolean): void;
    /**
     * Returns the type of the object.
     */
    type(): string;
    /**
     * Returns the rotation angle of the object, in degress.
     */
    getRotation(): number;
    /**
     * Sets the rotation angle of the object.
     *
     * @param degrees - Number of degress to rotate.
     */
    setRotation(degrees: number): void;
    /**
     * Returns the Z-index of a object relative to sibling objects that are in the same group.
     *
     * Z-Index is not absolute (like in CSS). It is relative to parent object group only:
     *
     * - `images` - are olways at the bottom
     * - `texts` - are olways on top
     * - `others` - are always between images and texts
     */
    getZIndex(): number;
    /**
     * Sets the Z-index of a object relative to sibling objects that are in the same group.
     *
     * Z-Index is not absolute (like in CSS). It is relative to parent object group only:
     *
     * - `images` - are olways at the bottom
     * - `texts` - are olways on top
     * - `others` - are always between images and texts
     *
     * @param zIndex - An integer value of Z-Index.
     */
    setZIndex(zIndex: number): void;
    /**
     * Deletes the current object.
     */
    delete(): void;
}
