"""This file provides autocompletions for the ZOS-API and was automatically generated.
It should not be edited manually.
"""

from __future__ import annotations

from zospy.api._ZOSAPI.Analysis import (
    BestFitSphereOptions,
    RemoveOptions,
    SampleSizes_Pow2Plus1,
    SampleSizes_Pow2Plus1_X,
    ShowAs,
    SurfaceCurvatureCrossData,
    SurfaceCurvatureData,
    SurfacePhaseData,
    SurfacePhaseSlopeCrossData,
    SurfacePhaseSlopeData,
    SurfaceSagData,
    SurfaceSlopeCrossData,
    SurfaceSlopeData,
)
from zospy.api._ZOSAPI.Analysis.Settings import IAS_

__all__ = (
    "IAS_SurfaceCurvature",
    "IAS_SurfaceCurvatureCross",
    "IAS_SurfacePhase",
    "IAS_SurfacePhaseCross",
    "IAS_SurfacePhaseSlope",
    "IAS_SurfacePhaseSlopeCross",
    "IAS_SurfaceSag",
    "IAS_SurfaceSagCross",
    "IAS_SurfaceSlope",
    "IAS_SurfaceSlopeCross",
)

class IAS_SurfaceCurvature(IAS_):
    @property
    def Surface(self) -> IAS_Surface: ...
    @property
    def Sampling(self) -> SampleSizes_Pow2Plus1_X: ...
    @Sampling.setter
    def Sampling(self, value: SampleSizes_Pow2Plus1_X) -> None: ...
    @property
    def Data(self) -> SurfaceCurvatureData: ...
    @Data.setter
    def Data(self, value: SurfaceCurvatureData) -> None: ...
    @property
    def ShowAs(self) -> ShowAs: ...
    @ShowAs.setter
    def ShowAs(self, value: ShowAs) -> None: ...
    @property
    def ContourFormat(self) -> str: ...
    @ContourFormat.setter
    def ContourFormat(self, value: str) -> None: ...
    @property
    def RemoveOption(self) -> RemoveOptions: ...
    @RemoveOption.setter
    def RemoveOption(self, value: RemoveOptions) -> None: ...
    @property
    def BestFitSphereOption(self) -> BestFitSphereOptions: ...
    @BestFitSphereOption.setter
    def BestFitSphereOption(self, value: BestFitSphereOptions) -> None: ...
    @property
    def ConsiderOffAxisAperture(self) -> bool: ...
    @ConsiderOffAxisAperture.setter
    def ConsiderOffAxisAperture(self, value: bool) -> None: ...
    @property
    def ReverseDirection(self) -> bool: ...
    @ReverseDirection.setter
    def ReverseDirection(self, value: bool) -> None: ...

class IAS_SurfaceCurvatureCross(IAS_):
    @property
    def Surface(self) -> IAS_Surface: ...
    @property
    def Data(self) -> SurfaceCurvatureCrossData: ...
    @Data.setter
    def Data(self, value: SurfaceCurvatureCrossData) -> None: ...
    @property
    def Sampling(self) -> SampleSizes_Pow2Plus1: ...
    @Sampling.setter
    def Sampling(self, value: SampleSizes_Pow2Plus1) -> None: ...
    @property
    def Angle(self) -> float: ...
    @Angle.setter
    def Angle(self, value: float) -> None: ...
    @property
    def RemoveOption(self) -> RemoveOptions: ...
    @RemoveOption.setter
    def RemoveOption(self, value: RemoveOptions) -> None: ...
    @property
    def BestFitSphereOption(self) -> BestFitSphereOptions: ...
    @BestFitSphereOption.setter
    def BestFitSphereOption(self, value: BestFitSphereOptions) -> None: ...
    @property
    def ConsiderOffAxisAperture(self) -> bool: ...
    @ConsiderOffAxisAperture.setter
    def ConsiderOffAxisAperture(self, value: bool) -> None: ...
    @property
    def ReverseDirection(self) -> bool: ...
    @ReverseDirection.setter
    def ReverseDirection(self, value: bool) -> None: ...

class IAS_SurfacePhase(IAS_):
    @property
    def Surface(self) -> IAS_Surface: ...
    @property
    def Sampling(self) -> SampleSizes_Pow2Plus1_X: ...
    @Sampling.setter
    def Sampling(self, value: SampleSizes_Pow2Plus1_X) -> None: ...
    @property
    def Data(self) -> SurfacePhaseData: ...
    @Data.setter
    def Data(self, value: SurfacePhaseData) -> None: ...
    @property
    def ShowAs(self) -> ShowAs: ...
    @ShowAs.setter
    def ShowAs(self, value: ShowAs) -> None: ...
    @property
    def ContourFormat(self) -> str: ...
    @ContourFormat.setter
    def ContourFormat(self, value: str) -> None: ...
    @property
    def RemovePiston(self) -> bool: ...
    @RemovePiston.setter
    def RemovePiston(self, value: bool) -> None: ...
    @property
    def RemoveTiltX(self) -> bool: ...
    @RemoveTiltX.setter
    def RemoveTiltX(self, value: bool) -> None: ...
    @property
    def RemoveTiltY(self) -> bool: ...
    @RemoveTiltY.setter
    def RemoveTiltY(self, value: bool) -> None: ...
    @property
    def RemovePower(self) -> bool: ...
    @RemovePower.setter
    def RemovePower(self, value: bool) -> None: ...

class IAS_SurfacePhaseCross(IAS_):
    @property
    def Surface(self) -> IAS_Surface: ...
    @property
    def Data(self) -> SurfacePhaseData: ...
    @Data.setter
    def Data(self, value: SurfacePhaseData) -> None: ...
    @property
    def Sampling(self) -> SampleSizes_Pow2Plus1: ...
    @Sampling.setter
    def Sampling(self, value: SampleSizes_Pow2Plus1) -> None: ...
    @property
    def Angle(self) -> float: ...
    @Angle.setter
    def Angle(self, value: float) -> None: ...
    @property
    def RemovePiston(self) -> bool: ...
    @RemovePiston.setter
    def RemovePiston(self, value: bool) -> None: ...
    @property
    def RemoveTiltX(self) -> bool: ...
    @RemoveTiltX.setter
    def RemoveTiltX(self, value: bool) -> None: ...
    @property
    def RemoveTiltY(self) -> bool: ...
    @RemoveTiltY.setter
    def RemoveTiltY(self, value: bool) -> None: ...
    @property
    def RemovePower(self) -> bool: ...
    @RemovePower.setter
    def RemovePower(self, value: bool) -> None: ...

class IAS_SurfacePhaseSlope(IAS_):
    @property
    def Surface(self) -> IAS_Surface: ...
    @property
    def Sampling(self) -> SampleSizes_Pow2Plus1_X: ...
    @Sampling.setter
    def Sampling(self, value: SampleSizes_Pow2Plus1_X) -> None: ...
    @property
    def Data(self) -> SurfacePhaseSlopeData: ...
    @Data.setter
    def Data(self, value: SurfacePhaseSlopeData) -> None: ...
    @property
    def ShowAs(self) -> ShowAs: ...
    @ShowAs.setter
    def ShowAs(self, value: ShowAs) -> None: ...
    @property
    def ContourFormat(self) -> str: ...
    @ContourFormat.setter
    def ContourFormat(self, value: str) -> None: ...
    @property
    def RemovePiston(self) -> bool: ...
    @RemovePiston.setter
    def RemovePiston(self, value: bool) -> None: ...
    @property
    def RemoveTiltX(self) -> bool: ...
    @RemoveTiltX.setter
    def RemoveTiltX(self, value: bool) -> None: ...
    @property
    def RemoveTiltY(self) -> bool: ...
    @RemoveTiltY.setter
    def RemoveTiltY(self, value: bool) -> None: ...
    @property
    def RemovePower(self) -> bool: ...
    @RemovePower.setter
    def RemovePower(self, value: bool) -> None: ...

class IAS_SurfacePhaseSlopeCross(IAS_):
    @property
    def Surface(self) -> IAS_Surface: ...
    @property
    def Data(self) -> SurfacePhaseSlopeCrossData: ...
    @Data.setter
    def Data(self, value: SurfacePhaseSlopeCrossData) -> None: ...
    @property
    def Sampling(self) -> SampleSizes_Pow2Plus1: ...
    @Sampling.setter
    def Sampling(self, value: SampleSizes_Pow2Plus1) -> None: ...
    @property
    def Angle(self) -> float: ...
    @Angle.setter
    def Angle(self, value: float) -> None: ...
    @property
    def RemovePiston(self) -> bool: ...
    @RemovePiston.setter
    def RemovePiston(self, value: bool) -> None: ...
    @property
    def RemoveTiltX(self) -> bool: ...
    @RemoveTiltX.setter
    def RemoveTiltX(self, value: bool) -> None: ...
    @property
    def RemoveTiltY(self) -> bool: ...
    @RemoveTiltY.setter
    def RemoveTiltY(self, value: bool) -> None: ...
    @property
    def RemovePower(self) -> bool: ...
    @RemovePower.setter
    def RemovePower(self, value: bool) -> None: ...

class IAS_SurfaceSag(IAS_):
    @property
    def Surface(self) -> IAS_Surface: ...
    @property
    def Sampling(self) -> SampleSizes_Pow2Plus1_X: ...
    @Sampling.setter
    def Sampling(self, value: SampleSizes_Pow2Plus1_X) -> None: ...
    @property
    def Data(self) -> SurfaceSagData: ...
    @Data.setter
    def Data(self, value: SurfaceSagData) -> None: ...
    @property
    def ShowAs(self) -> ShowAs: ...
    @ShowAs.setter
    def ShowAs(self, value: ShowAs) -> None: ...
    @property
    def ContourFormat(self) -> str: ...
    @ContourFormat.setter
    def ContourFormat(self, value: str) -> None: ...
    @property
    def RemoveOption(self) -> RemoveOptions: ...
    @RemoveOption.setter
    def RemoveOption(self, value: RemoveOptions) -> None: ...
    @property
    def BestFitSphereOption(self) -> BestFitSphereOptions: ...
    @BestFitSphereOption.setter
    def BestFitSphereOption(self, value: BestFitSphereOptions) -> None: ...
    @property
    def ConsiderOffAxisAperture(self) -> bool: ...
    @ConsiderOffAxisAperture.setter
    def ConsiderOffAxisAperture(self, value: bool) -> None: ...
    @property
    def ReverseDirection(self) -> bool: ...
    @ReverseDirection.setter
    def ReverseDirection(self, value: bool) -> None: ...

class IAS_SurfaceSagCross(IAS_):
    @property
    def Surface(self) -> IAS_Surface: ...
    @property
    def Data(self) -> SurfaceSagData: ...
    @Data.setter
    def Data(self, value: SurfaceSagData) -> None: ...
    @property
    def Sampling(self) -> SampleSizes_Pow2Plus1: ...
    @Sampling.setter
    def Sampling(self, value: SampleSizes_Pow2Plus1) -> None: ...
    @property
    def Angle(self) -> float: ...
    @Angle.setter
    def Angle(self, value: float) -> None: ...
    @property
    def RemoveOption(self) -> RemoveOptions: ...
    @RemoveOption.setter
    def RemoveOption(self, value: RemoveOptions) -> None: ...
    @property
    def BestFitSphereOption(self) -> BestFitSphereOptions: ...
    @BestFitSphereOption.setter
    def BestFitSphereOption(self, value: BestFitSphereOptions) -> None: ...
    @property
    def ConsiderOffAxisAperture(self) -> bool: ...
    @ConsiderOffAxisAperture.setter
    def ConsiderOffAxisAperture(self, value: bool) -> None: ...
    @property
    def ReverseDirection(self) -> bool: ...
    @ReverseDirection.setter
    def ReverseDirection(self, value: bool) -> None: ...

class IAS_SurfaceSlope(IAS_):
    @property
    def Surface(self) -> IAS_Surface: ...
    @property
    def Sampling(self) -> SampleSizes_Pow2Plus1_X: ...
    @Sampling.setter
    def Sampling(self, value: SampleSizes_Pow2Plus1_X) -> None: ...
    @property
    def Data(self) -> SurfaceSlopeData: ...
    @Data.setter
    def Data(self, value: SurfaceSlopeData) -> None: ...
    @property
    def ShowAs(self) -> ShowAs: ...
    @ShowAs.setter
    def ShowAs(self, value: ShowAs) -> None: ...
    @property
    def ContourFormat(self) -> str: ...
    @ContourFormat.setter
    def ContourFormat(self, value: str) -> None: ...
    @property
    def RemoveOption(self) -> RemoveOptions: ...
    @RemoveOption.setter
    def RemoveOption(self, value: RemoveOptions) -> None: ...
    @property
    def BestFitSphereOption(self) -> BestFitSphereOptions: ...
    @BestFitSphereOption.setter
    def BestFitSphereOption(self, value: BestFitSphereOptions) -> None: ...
    @property
    def ConsiderOffAxisAperture(self) -> bool: ...
    @ConsiderOffAxisAperture.setter
    def ConsiderOffAxisAperture(self, value: bool) -> None: ...
    @property
    def ReverseDirection(self) -> bool: ...
    @ReverseDirection.setter
    def ReverseDirection(self, value: bool) -> None: ...

class IAS_SurfaceSlopeCross(IAS_):
    @property
    def Surface(self) -> IAS_Surface: ...
    @property
    def Data(self) -> SurfaceSlopeCrossData: ...
    @Data.setter
    def Data(self, value: SurfaceSlopeCrossData) -> None: ...
    @property
    def Sampling(self) -> SampleSizes_Pow2Plus1: ...
    @Sampling.setter
    def Sampling(self, value: SampleSizes_Pow2Plus1) -> None: ...
    @property
    def Angle(self) -> float: ...
    @Angle.setter
    def Angle(self, value: float) -> None: ...
    @property
    def RemoveOption(self) -> RemoveOptions: ...
    @RemoveOption.setter
    def RemoveOption(self, value: RemoveOptions) -> None: ...
    @property
    def BestFitSphereOption(self) -> BestFitSphereOptions: ...
    @BestFitSphereOption.setter
    def BestFitSphereOption(self, value: BestFitSphereOptions) -> None: ...
    @property
    def ConsiderOffAxisAperture(self) -> bool: ...
    @ConsiderOffAxisAperture.setter
    def ConsiderOffAxisAperture(self, value: bool) -> None: ...
    @property
    def ReverseDirection(self) -> bool: ...
    @ReverseDirection.setter
    def ReverseDirection(self, value: bool) -> None: ...
