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

from zospy.api.stubs._ZOSAPI.Analysis.Settings import (
    IAS_,
    IAS_Field,
    IAS_Surface,
    IAS_Wavelength,
)
from zospy.api.stubs._ZOSAPI.Analysis.Settings.RMS.RMSField import DataType
from zospy.api.stubs._ZOSAPI.Analysis.Settings.RMS import (
    FieldDensities,
    FocusDensities,
    Method,
    Orientations,
    RayDensities,
    ReferTo,
    WaveDensities,
)
from zospy.api.stubs._ZOSAPI.Analysis.Settings.RMS.RMSFieldMap import DataType
from zospy.api.stubs._ZOSAPI.Analysis import ShowAs

from zospy.api.stubs._ZOSAPI_constants.Analysis.Settings.RMS import (
    FieldDensities,
    FocusDensities,
    Method,
    Orientations,
    RayDensities,
    ReferTo,
    WaveDensities,
)

from zospy.api.stubs._ZOSAPI.Analysis.Settings.RMS import RMSField, RMSFieldMap

__all__ = (
    "RMSField",
    "RMSFieldMap",
    "FieldDensities",
    "FocusDensities",
    "IAS_RMSField",
    "IAS_RMSFieldMap",
    "IAS_RMSFocus",
    "IAS_RMSLambdaDiagram",
    "Method",
    "Orientations",
    "RayDensities",
    "ReferTo",
    "WaveDensities",
)

# FieldDensities is imported as constant

# FocusDensities is imported as constant

class IAS_RMSField(IAS_):
    @property
    def Wavelength(self) -> IAS_Wavelength: ...
    @property
    def Data(self) -> DataType: ...
    @Data.setter
    def Data(self, value: DataType) -> None: ...
    @property
    def FieldDensity(self) -> FieldDensities: ...
    @FieldDensity.setter
    def FieldDensity(self, value: FieldDensities) -> None: ...
    @property
    def RayDensity(self) -> RayDensities: ...
    @RayDensity.setter
    def RayDensity(self, value: RayDensities) -> None: ...
    @property
    def ReferTo(self) -> ReferTo: ...
    @ReferTo.setter
    def ReferTo(self, value: ReferTo) -> None: ...
    @property
    def Method(self) -> Method: ...
    @Method.setter
    def Method(self, value: Method) -> None: ...
    @property
    def Orientation(self) -> Orientations: ...
    @Orientation.setter
    def Orientation(self, value: Orientations) -> None: ...
    @property
    def ShowDiffractionLimit(self) -> bool: ...
    @ShowDiffractionLimit.setter
    def ShowDiffractionLimit(self, value: bool) -> None: ...
    @property
    def UseDashes(self) -> bool: ...
    @UseDashes.setter
    def UseDashes(self, value: bool) -> None: ...
    @property
    def UsePolarization(self) -> bool: ...
    @UsePolarization.setter
    def UsePolarization(self, value: bool) -> None: ...
    @property
    def RemoveVignettingFactors(self) -> bool: ...
    @RemoveVignettingFactors.setter
    def RemoveVignettingFactors(self, value: bool) -> None: ...
    @property
    def PlotScale(self) -> float: ...
    @PlotScale.setter
    def PlotScale(self, value: float) -> None: ...

class IAS_RMSFieldMap(IAS_):
    @property
    def Field(self) -> IAS_Field: ...
    @property
    def Surface(self) -> IAS_Surface: ...
    @property
    def Wavelength(self) -> IAS_Wavelength: ...
    @property
    def Data(self) -> DataType: ...
    @Data.setter
    def Data(self, value: DataType) -> None: ...
    @property
    def MethodType(self) -> Method: ...
    @MethodType.setter
    def MethodType(self, value: Method) -> None: ...
    @property
    def RayDensity(self) -> RayDensities: ...
    @RayDensity.setter
    def RayDensity(self, value: RayDensities) -> None: ...
    @property
    def ReferTo(self) -> ReferTo: ...
    @ReferTo.setter
    def ReferTo(self, value: ReferTo) -> None: ...
    @property
    def ShowAs(self) -> ShowAs: ...
    @ShowAs.setter
    def ShowAs(self, value: ShowAs) -> None: ...
    @property
    def UsePolarization(self) -> bool: ...
    @UsePolarization.setter
    def UsePolarization(self, value: bool) -> None: ...
    @property
    def RemoveVignettingFactors(self) -> bool: ...
    @RemoveVignettingFactors.setter
    def RemoveVignettingFactors(self, value: bool) -> None: ...
    @property
    def X_FieldSampling(self) -> int: ...
    @X_FieldSampling.setter
    def X_FieldSampling(self, value: int) -> None: ...
    @property
    def Y_FieldSampling(self) -> int: ...
    @Y_FieldSampling.setter
    def Y_FieldSampling(self, value: int) -> None: ...
    @property
    def X_FieldSize(self) -> float: ...
    @X_FieldSize.setter
    def X_FieldSize(self, value: float) -> None: ...
    @property
    def Y_FieldSize(self) -> float: ...
    @Y_FieldSize.setter
    def Y_FieldSize(self, value: float) -> None: ...
    @property
    def PlotScale(self) -> float: ...
    @PlotScale.setter
    def PlotScale(self, value: float) -> None: ...
    @property
    def ContourFormat(self) -> str: ...
    @ContourFormat.setter
    def ContourFormat(self, value: str) -> None: ...

class IAS_RMSFocus(IAS_):
    @property
    def Wavelength(self) -> IAS_Wavelength: ...
    @property
    def RayDensity(self) -> RayDensities: ...
    @RayDensity.setter
    def RayDensity(self, value: RayDensities) -> None: ...
    @property
    def FocusDensity(self) -> FocusDensities: ...
    @FocusDensity.setter
    def FocusDensity(self, value: FocusDensities) -> None: ...
    @property
    def Data(self) -> DataType: ...
    @Data.setter
    def Data(self, value: DataType) -> None: ...
    @property
    def ReferTo(self) -> ReferTo: ...
    @ReferTo.setter
    def ReferTo(self, value: ReferTo) -> None: ...
    @property
    def Method(self) -> Method: ...
    @Method.setter
    def Method(self, value: Method) -> None: ...
    @property
    def UseDashes(self) -> bool: ...
    @UseDashes.setter
    def UseDashes(self, value: bool) -> None: ...
    @property
    def ShowDiffractionLimit(self) -> bool: ...
    @ShowDiffractionLimit.setter
    def ShowDiffractionLimit(self, value: bool) -> None: ...
    @property
    def UsePolarization(self) -> bool: ...
    @UsePolarization.setter
    def UsePolarization(self, value: bool) -> None: ...
    @property
    def PlotScale(self) -> float: ...
    @PlotScale.setter
    def PlotScale(self, value: float) -> None: ...
    @property
    def MinimumFocus(self) -> float: ...
    @MinimumFocus.setter
    def MinimumFocus(self, value: float) -> None: ...
    @property
    def MaximumFocus(self) -> float: ...
    @MaximumFocus.setter
    def MaximumFocus(self, value: float) -> None: ...

class IAS_RMSLambdaDiagram(IAS_):
    @property
    def Field(self) -> IAS_Field: ...
    @property
    def RayDensity(self) -> RayDensities: ...
    @RayDensity.setter
    def RayDensity(self, value: RayDensities) -> None: ...
    @property
    def WaveDensity(self) -> WaveDensities: ...
    @WaveDensity.setter
    def WaveDensity(self, value: WaveDensities) -> None: ...
    @property
    def Data(self) -> DataType: ...
    @Data.setter
    def Data(self, value: DataType) -> None: ...
    @property
    def ReferTo(self) -> ReferTo: ...
    @ReferTo.setter
    def ReferTo(self, value: ReferTo) -> None: ...
    @property
    def Method(self) -> Method: ...
    @Method.setter
    def Method(self, value: Method) -> None: ...
    @property
    def UseDashes(self) -> bool: ...
    @UseDashes.setter
    def UseDashes(self, value: bool) -> None: ...
    @property
    def ShowDiffractionLimit(self) -> bool: ...
    @ShowDiffractionLimit.setter
    def ShowDiffractionLimit(self, value: bool) -> None: ...
    @property
    def UsePolarization(self) -> bool: ...
    @UsePolarization.setter
    def UsePolarization(self, value: bool) -> None: ...
    @property
    def PlotScale(self) -> float: ...
    @PlotScale.setter
    def PlotScale(self, value: float) -> None: ...

# Method is imported as constant

# Orientations is imported as constant

# RayDensities is imported as constant

# ReferTo is imported as constant

# WaveDensities is imported as constant
