from __future__ import annotations
from typing import Any, Protocol, runtime_checkable
from com.sun.star.beans import XPropertySet
from com.sun.star.beans import XTolerantMultiPropertySet
from com.sun.star.drawing import XGluePointsSupplier
from com.sun.star.drawing import XShape
from com.sun.star.drawing import XShapeDescriptor
from com.sun.star.lang import XComponent

@runtime_checkable
class Shape(XPropertySet, XShape, XComponent, XShapeDescriptor, XGluePointsSupplier, XTolerantMultiPropertySet, Protocol):
    ZOrder: int
    LayerID: int
    LayerName: str
    Visible: bool
    Printable: bool
    MoveProtect: bool
    Name: str
    SizeProtect: bool
    Style: XStyle
    Transformation: HomogenMatrix3
    ShapeUserDefinedAttributes: XNameContainer
    NavigationOrder: int
    Hyperlink: str
    InteropGrabBag: list[PropertyValue]
    RelativeHeight: int
    RelativeWidth: int
    RelativeHeightRelation: int
    RelativeWidthRelation: int
    Title: str
    Description: str
    Decorative: bool
