"""
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.Settings import (
    IAS_,
    AxisType,
    IAS_Surface,
    IAS_Wavelength,
)

__all__ = ("IAS_GrinProfile", "IAS_InternalTransmissionvsWavelength")

class IAS_GrinProfile(IAS_):
    @property
    def MaximumIndex(self) -> float: ...
    @property
    def MaximumX(self) -> float: ...
    @property
    def MaximumY(self) -> float: ...
    @property
    def MaximumZ(self) -> float: ...
    @property
    def MinimumIndex(self) -> float: ...
    @property
    def MinimumX(self) -> float: ...
    @property
    def MinimumY(self) -> float: ...
    @property
    def MinimumZ(self) -> float: ...
    @property
    def ShowIndexVs(self) -> AxisType: ...
    @property
    def Surface(self) -> IAS_Surface: ...
    @property
    def Wavelength(self) -> IAS_Wavelength: ...
    @property
    def X_Value(self) -> float: ...
    @property
    def Y_Value(self) -> float: ...
    @property
    def Z_Value(self) -> float: ...
    @MaximumIndex.setter
    def MaximumIndex(self, value: float) -> None: ...
    @MaximumX.setter
    def MaximumX(self, value: float) -> None: ...
    @MaximumY.setter
    def MaximumY(self, value: float) -> None: ...
    @MaximumZ.setter
    def MaximumZ(self, value: float) -> None: ...
    @MinimumIndex.setter
    def MinimumIndex(self, value: float) -> None: ...
    @MinimumX.setter
    def MinimumX(self, value: float) -> None: ...
    @MinimumY.setter
    def MinimumY(self, value: float) -> None: ...
    @MinimumZ.setter
    def MinimumZ(self, value: float) -> None: ...
    @ShowIndexVs.setter
    def ShowIndexVs(self, value: AxisType) -> None: ...
    @X_Value.setter
    def X_Value(self, value: float) -> None: ...
    @Y_Value.setter
    def Y_Value(self, value: float) -> None: ...
    @Z_Value.setter
    def Z_Value(self, value: float) -> None: ...

class IAS_InternalTransmissionvsWavelength(IAS_):
    @property
    def Glass1(self) -> str: ...
    @property
    def Glass2(self) -> str: ...
    @property
    def Glass3(self) -> str: ...
    @property
    def Glass4(self) -> str: ...
    @property
    def MaximumTransmission(self) -> float: ...
    @property
    def MaximumWave(self) -> float: ...
    @property
    def MinimumTransmission(self) -> float: ...
    @property
    def MinimumWave(self) -> float: ...
    @property
    def Thickness(self) -> float: ...
    @Glass1.setter
    def Glass1(self, value: str) -> None: ...
    @Glass2.setter
    def Glass2(self, value: str) -> None: ...
    @Glass3.setter
    def Glass3(self, value: str) -> None: ...
    @Glass4.setter
    def Glass4(self, value: str) -> None: ...
    @MaximumTransmission.setter
    def MaximumTransmission(self, value: float) -> None: ...
    @MaximumWave.setter
    def MaximumWave(self, value: float) -> None: ...
    @MinimumTransmission.setter
    def MinimumTransmission(self, value: float) -> None: ...
    @MinimumWave.setter
    def MinimumWave(self, value: float) -> None: ...
    @Thickness.setter
    def Thickness(self, value: float) -> None: ...
