from _typeshed import Incomplete, Unused from typing import ClassVar, overload from typing_extensions import Literal, TypeAlias from openpyxl.descriptors.base import ( Alias, Bool, Float, Integer, MinMax, NoneSet, Set, String, Typed, _ConvertibleToBool, _ConvertibleToFloat, _ConvertibleToInt, ) from openpyxl.descriptors.excel import Coordinate, ExtensionList, Percentage from openpyxl.descriptors.serialisable import Serialisable from openpyxl.styles.colors import Color _BevelPrst: TypeAlias = Literal[ "relaxedInset", "circle", "slope", "cross", "angle", "softRound", "convex", "coolSlant", "divot", "riblet", "hardEdge", "artDeco", ] _Shape3DPrstMaterial: TypeAlias = Literal[ "legacyMatte", "legacyPlastic", "legacyMetal", "legacyWireframe", "matte", "plastic", "metal", "warmMatte", "translucentPowder", "powder", "dkEdge", "softEdge", "clear", "flat", "softmetal", ] _Path2DFill: TypeAlias = Literal["norm", "lighten", "lightenLess", "darken", "darkenLess"] _FontReferenceIdx: TypeAlias = Literal["major", "minor"] _CameraPrst: TypeAlias = Literal[ "legacyObliqueTopLeft", "legacyObliqueTop", "legacyObliqueTopRight", "legacyObliqueLeft", "legacyObliqueFront", "legacyObliqueRight", "legacyObliqueBottomLeft", "legacyObliqueBottom", "legacyObliqueBottomRight", "legacyPerspectiveTopLeft", "legacyPerspectiveTop", "legacyPerspectiveTopRight", "legacyPerspectiveLeft", "legacyPerspectiveFront", "legacyPerspectiveRight", "legacyPerspectiveBottomLeft", "legacyPerspectiveBottom", "legacyPerspectiveBottomRight", "orthographicFront", "isometricTopUp", "isometricTopDown", "isometricBottomUp", "isometricBottomDown", "isometricLeftUp", "isometricLeftDown", "isometricRightUp", "isometricRightDown", "isometricOffAxis1Left", "isometricOffAxis1Right", "isometricOffAxis1Top", "isometricOffAxis2Left", "isometricOffAxis2Right", "isometricOffAxis2Top", "isometricOffAxis3Left", "isometricOffAxis3Right", "isometricOffAxis3Bottom", "isometricOffAxis4Left", "isometricOffAxis4Right", "isometricOffAxis4Bottom", "obliqueTopLeft", "obliqueTop", "obliqueTopRight", "obliqueLeft", "obliqueRight", "obliqueBottomLeft", "obliqueBottom", "obliqueBottomRight", "perspectiveFront", "perspectiveLeft", "perspectiveRight", "perspectiveAbove", "perspectiveBelow", "perspectiveAboveLeftFacing", "perspectiveAboveRightFacing", "perspectiveContrastingLeftFacing", "perspectiveContrastingRightFacing", "perspectiveHeroicLeftFacing", "perspectiveHeroicRightFacing", "perspectiveHeroicExtremeLeftFacing", "perspectiveHeroicExtremeRightFacing", "perspectiveRelaxed", "perspectiveRelaxedModerately", ] _LightRigRig: TypeAlias = Literal[ "legacyFlat1", "legacyFlat2", "legacyFlat3", "legacyFlat4", "legacyNormal1", "legacyNormal2", "legacyNormal3", "legacyNormal4", "legacyHarsh1", "legacyHarsh2", "legacyHarsh3", "legacyHarsh4", "threePt", "balanced", "soft", "harsh", "flood", "contrasting", "morning", "sunrise", "sunset", "chilly", "freezing", "flat", "twoPt", "glow", "brightRoom", ] _LightRigDir: TypeAlias = Literal["tl", "t", "tr", "l", "r", "bl", "b", "br"] _PresetGeometry2DPrst: TypeAlias = Literal[ "line", "lineInv", "triangle", "rtTriangle", "rect", "diamond", "parallelogram", "trapezoid", "nonIsoscelesTrapezoid", "pentagon", "hexagon", "heptagon", "octagon", "decagon", "dodecagon", "star4", "star5", "star6", "star7", "star8", "star10", "star12", "star16", "star24", "star32", "roundRect", "round1Rect", "round2SameRect", "round2DiagRect", "snipRoundRect", "snip1Rect", "snip2SameRect", "snip2DiagRect", "plaque", "ellipse", "teardrop", "homePlate", "chevron", "pieWedge", "pie", "blockArc", "donut", "noSmoking", "rightArrow", "leftArrow", "upArrow", "downArrow", "stripedRightArrow", "notchedRightArrow", "bentUpArrow", "leftRightArrow", "upDownArrow", "leftUpArrow", "leftRightUpArrow", "quadArrow", "leftArrowCallout", "rightArrowCallout", "upArrowCallout", "downArrowCallout", "leftRightArrowCallout", "upDownArrowCallout", "quadArrowCallout", "bentArrow", "uturnArrow", "circularArrow", "leftCircularArrow", "leftRightCircularArrow", "curvedRightArrow", "curvedLeftArrow", "curvedUpArrow", "curvedDownArrow", "swooshArrow", "cube", "can", "lightningBolt", "heart", "sun", "moon", "smileyFace", "irregularSeal1", "irregularSeal2", "foldedCorner", "bevel", "frame", "halfFrame", "corner", "diagStripe", "chord", "arc", "leftBracket", "rightBracket", "leftBrace", "rightBrace", "bracketPair", "bracePair", "straightConnector1", "bentConnector2", "bentConnector3", "bentConnector4", "bentConnector5", "curvedConnector2", "curvedConnector3", "curvedConnector4", "curvedConnector5", "callout1", "callout2", "callout3", "accentCallout1", "accentCallout2", "accentCallout3", "borderCallout1", "borderCallout2", "borderCallout3", "accentBorderCallout1", "accentBorderCallout2", "accentBorderCallout3", "wedgeRectCallout", "wedgeRoundRectCallout", "wedgeEllipseCallout", "cloudCallout", "cloud", "ribbon", "ribbon2", "ellipseRibbon", "ellipseRibbon2", "leftRightRibbon", "verticalScroll", "horizontalScroll", "wave", "doubleWave", "plus", "flowChartProcess", "flowChartDecision", "flowChartInputOutput", "flowChartPredefinedProcess", "flowChartInternalStorage", "flowChartDocument", "flowChartMultidocument", "flowChartTerminator", "flowChartPreparation", "flowChartManualInput", "flowChartManualOperation", "flowChartConnector", "flowChartPunchedCard", "flowChartPunchedTape", "flowChartSummingJunction", "flowChartOr", "flowChartCollate", "flowChartSort", "flowChartExtract", "flowChartMerge", "flowChartOfflineStorage", "flowChartOnlineStorage", "flowChartMagneticTape", "flowChartMagneticDisk", "flowChartMagneticDrum", "flowChartDisplay", "flowChartDelay", "flowChartAlternateProcess", "flowChartOffpageConnector", "actionButtonBlank", "actionButtonHome", "actionButtonHelp", "actionButtonInformation", "actionButtonForwardNext", "actionButtonBackPrevious", "actionButtonEnd", "actionButtonBeginning", "actionButtonReturn", "actionButtonDocument", "actionButtonSound", "actionButtonMovie", "gear6", "gear9", "funnel", "mathPlus", "mathMinus", "mathMultiply", "mathDivide", "mathEqual", "mathNotEqual", "cornerTabs", "squareTabs", "plaqueTabs", "chartX", "chartStar", "chartPlus", ] class Point2D(Serialisable): tagname: ClassVar[str] namespace: ClassVar[str] x: Incomplete y: Incomplete def __init__(self, x: Incomplete | None = None, y: Incomplete | None = None) -> None: ... class PositiveSize2D(Serialisable): tagname: ClassVar[str] namespace: ClassVar[str] cx: Integer[Literal[False]] width: Alias cy: Integer[Literal[False]] height: Alias def __init__(self, cx: _ConvertibleToInt, cy: _ConvertibleToInt) -> None: ... class Transform2D(Serialisable): tagname: ClassVar[str] namespace: ClassVar[str] rot: Integer[Literal[True]] flipH: Bool[Literal[True]] flipV: Bool[Literal[True]] off: Typed[Point2D, Literal[True]] ext: Typed[PositiveSize2D, Literal[True]] chOff: Typed[Point2D, Literal[True]] chExt: Typed[PositiveSize2D, Literal[True]] __elements__: ClassVar[tuple[str, ...]] def __init__( self, rot: _ConvertibleToInt | None = None, flipH: _ConvertibleToBool | None = None, flipV: _ConvertibleToBool | None = None, off: Point2D | None = None, ext: PositiveSize2D | None = None, chOff: Point2D | None = None, chExt: PositiveSize2D | None = None, ) -> None: ... class GroupTransform2D(Serialisable): tagname: ClassVar[str] namespace: ClassVar[str] rot: Integer[Literal[True]] flipH: Bool[Literal[True]] flipV: Bool[Literal[True]] off = Typed(expected_type=Point2D, allow_none=True) ext = Typed(expected_type=PositiveSize2D, allow_none=True) chOff = Typed(expected_type=Point2D, allow_none=True) chExt = Typed(expected_type=PositiveSize2D, allow_none=True) __elements__: ClassVar[tuple[str, ...]] def __init__( self, rot: _ConvertibleToInt | None = 0, flipH: _ConvertibleToBool | None = None, flipV: _ConvertibleToBool | None = None, off: Point2D | None = None, ext: PositiveSize2D | None = None, chOff: Point2D | None = None, chExt: PositiveSize2D | None = None, ) -> None: ... class SphereCoords(Serialisable): tagname: ClassVar[str] lat: Integer[Literal[False]] lon: Integer[Literal[False]] rev: Integer[Literal[False]] def __init__(self, lat: _ConvertibleToInt, lon: _ConvertibleToInt, rev: _ConvertibleToInt) -> None: ... class Camera(Serialisable): tagname: ClassVar[str] prst: Set[_CameraPrst] fov: Integer[Literal[True]] zoom: Typed[Percentage, Literal[True]] rot: Typed[SphereCoords, Literal[True]] def __init__( self, prst: _CameraPrst, fov: _ConvertibleToInt | None = None, zoom: Percentage | None = None, rot: SphereCoords | None = None, ) -> None: ... class LightRig(Serialisable): tagname: ClassVar[str] rig: Set[_LightRigRig] dir: Set[_LightRigDir] rot: Typed[SphereCoords, Literal[True]] def __init__(self, rig: _LightRigRig, dir: _LightRigDir, rot: SphereCoords | None = None) -> None: ... class Vector3D(Serialisable): tagname: ClassVar[str] dx: Integer[Literal[False]] dy: Integer[Literal[False]] dz: Integer[Literal[False]] def __init__(self, dx: _ConvertibleToInt, dy: _ConvertibleToInt, dz: _ConvertibleToInt) -> None: ... class Point3D(Serialisable): tagname: ClassVar[str] x: Integer[Literal[False]] y: Integer[Literal[False]] z: Integer[Literal[False]] def __init__(self, x: _ConvertibleToInt, y: _ConvertibleToInt, z: _ConvertibleToInt) -> None: ... class Backdrop(Serialisable): anchor: Typed[Point3D, Literal[False]] norm: Typed[Vector3D, Literal[False]] up: Typed[Vector3D, Literal[False]] extLst: Typed[ExtensionList, Literal[True]] def __init__(self, anchor: Point3D, norm: Vector3D, up: Vector3D, extLst: ExtensionList | None = None) -> None: ... class Scene3D(Serialisable): camera: Typed[Camera, Literal[False]] lightRig: Typed[LightRig, Literal[False]] backdrop: Typed[Backdrop, Literal[True]] extLst: Typed[ExtensionList, Literal[True]] def __init__( self, camera: Camera, lightRig: LightRig, backdrop: Backdrop | None = None, extLst: ExtensionList | None = None ) -> None: ... class Bevel(Serialisable): tagname: ClassVar[str] w: Integer[Literal[False]] h: Integer[Literal[False]] prst: NoneSet[_BevelPrst] def __init__(self, w: _ConvertibleToInt, h: _ConvertibleToInt, prst: _BevelPrst | Literal["none"] | None = None) -> None: ... class Shape3D(Serialisable): namespace: ClassVar[str] z: Typed[Coordinate[bool], Literal[True]] extrusionH: Integer[Literal[True]] contourW: Integer[Literal[True]] prstMaterial: NoneSet[_Shape3DPrstMaterial] bevelT: Typed[Bevel, Literal[True]] bevelB: Typed[Bevel, Literal[True]] extrusionClr: Typed[Color, Literal[True]] contourClr: Typed[Color, Literal[True]] extLst: Typed[ExtensionList, Literal[True]] def __init__( self, z: Coordinate[bool] | None = None, extrusionH: _ConvertibleToInt | None = None, contourW: _ConvertibleToInt | None = None, prstMaterial: _Shape3DPrstMaterial | Literal["none"] | None = None, bevelT: Bevel | None = None, bevelB: Bevel | None = None, extrusionClr: Color | None = None, contourClr: Color | None = None, extLst: ExtensionList | None = None, ) -> None: ... class Path2D(Serialisable): w: Float[Literal[False]] h: Float[Literal[False]] fill: NoneSet[_Path2DFill] stroke: Bool[Literal[True]] extrusionOk: Bool[Literal[True]] def __init__( self, w: _ConvertibleToFloat, h: _ConvertibleToFloat, fill: _Path2DFill | Literal["none"] | None = None, stroke: _ConvertibleToBool | None = None, extrusionOk: _ConvertibleToBool | None = None, ) -> None: ... class Path2DList(Serialisable): path: Typed[Path2D, Literal[True]] def __init__(self, path: Path2D | None = None) -> None: ... class GeomRect(Serialisable): l: Incomplete t: Incomplete r: Incomplete b: Incomplete def __init__( self, l: Incomplete | None = None, t: Incomplete | None = None, r: Incomplete | None = None, b: Incomplete | None = None ) -> None: ... class AdjPoint2D(Serialisable): x: Incomplete y: Incomplete def __init__(self, x: Incomplete | None = None, y: Incomplete | None = None) -> None: ... class ConnectionSite(Serialisable): ang: MinMax[float, Literal[False]] pos: Typed[AdjPoint2D, Literal[False]] def __init__(self, ang: _ConvertibleToFloat, pos: AdjPoint2D) -> None: ... class ConnectionSiteList(Serialisable): cxn: Typed[ConnectionSite, Literal[True]] def __init__(self, cxn: ConnectionSite | None = None) -> None: ... class AdjustHandleList(Serialisable): ... class GeomGuide(Serialisable): name: String[Literal[False]] fmla: String[Literal[False]] def __init__(self, name: str, fmla: str) -> None: ... class GeomGuideList(Serialisable): gd: Typed[GeomGuide, Literal[True]] def __init__(self, gd: GeomGuide | None = None) -> None: ... class CustomGeometry2D(Serialisable): avLst: Typed[GeomGuideList, Literal[True]] gdLst: Typed[GeomGuideList, Literal[True]] ahLst: Typed[AdjustHandleList, Literal[True]] cxnLst: Typed[ConnectionSiteList, Literal[True]] pathLst: Typed[Path2DList, Literal[False]] rect: GeomRect | None @overload def __init__( self, avLst: GeomGuideList | None = None, gdLst: GeomGuideList | None = None, ahLst: AdjustHandleList | None = None, cxnLst: ConnectionSiteList | None = None, rect: Unused = None, *, pathLst: Path2DList, ) -> None: ... @overload def __init__( self, avLst: GeomGuideList | None, gdLst: GeomGuideList | None, ahLst: AdjustHandleList | None, cxnLst: ConnectionSiteList | None, rect: Unused, pathLst: Path2DList, ) -> None: ... class PresetGeometry2D(Serialisable): namespace: ClassVar[str] prst: Set[_PresetGeometry2DPrst] avLst: Typed[GeomGuideList, Literal[True]] def __init__(self, prst: _PresetGeometry2DPrst, avLst: GeomGuideList | None = None) -> None: ... class FontReference(Serialisable): idx: NoneSet[_FontReferenceIdx] def __init__(self, idx: _FontReferenceIdx | Literal["none"] | None = None) -> None: ... class StyleMatrixReference(Serialisable): idx: Integer[Literal[False]] def __init__(self, idx: _ConvertibleToInt) -> None: ... class ShapeStyle(Serialisable): lnRef: Typed[StyleMatrixReference, Literal[False]] fillRef: Typed[StyleMatrixReference, Literal[False]] effectRef: Typed[StyleMatrixReference, Literal[False]] fontRef: Typed[FontReference, Literal[False]] def __init__( self, lnRef: StyleMatrixReference, fillRef: StyleMatrixReference, effectRef: StyleMatrixReference, fontRef: FontReference ) -> None: ...