from __future__ import annotations
from typing import Protocol, runtime_checkable

from zempy.zosapi.editors.protocols.i_solve_data import ISolveData

@runtime_checkable
class ISolveMaterialModel(ISolveData, Protocol):
    """Protocol for ISolveMaterialModel (refactored to inherit ISolveData; unique fields only)."""
    @property
    def IndexNd(self) -> float: ...
    @IndexNd.setter
    def IndexNd(self, value: float) -> None: ...
    @property
    def VaryIndex(self) -> bool: ...
    @VaryIndex.setter
    def VaryIndex(self, value: bool) -> None: ...
    @property
    def AbbeVd(self) -> float: ...
    @AbbeVd.setter
    def AbbeVd(self, value: float) -> None: ...
    @property
    def VaryAbbe(self) -> bool: ...
    @VaryAbbe.setter
    def VaryAbbe(self, value: bool) -> None: ...
    @property
    def dPgF(self) -> float: ...
    @dPgF.setter
    def dPgF(self, value: float) -> None: ...
    @property
    def VarydPgF(self) -> bool: ...
    @VarydPgF.setter
    def VarydPgF(self, value: bool) -> None: ...
    @property
    def Documentation(self) -> str: ...
    @property
    def set(self) -> str: ...
    @property
    def by(self) -> str: ...
