from __future__ import annotations
from dataclasses import dataclass, field
from decimal import Decimal
from .entity_in_version_structure import VersionedChildStructure
from .handrail_enumeration import HandrailEnumeration
from .stair_end_structure import StairEndStructure
from .stair_ramp_enumeration import StairRampEnumeration
from .step_condition_enumeration import StepConditionEnumeration

__NAMESPACE__ = "http://www.netex.org.uk/netex"


@dataclass(slots=True, kw_only=True)
class StairFlightVersionedChildStructure(VersionedChildStructure):
    class Meta:
        name = "StairFlight_VersionedChildStructure"

    depth: None | Decimal = field(
        default=None,
        metadata={
            "name": "Depth",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    number_of_steps: None | int = field(
        default=None,
        metadata={
            "name": "NumberOfSteps",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    step_height: None | Decimal = field(
        default=None,
        metadata={
            "name": "StepHeight",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    step_length: None | Decimal = field(
        default=None,
        metadata={
            "name": "StepLength",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    step_colour_contrast: None | bool = field(
        default=None,
        metadata={
            "name": "StepColourContrast",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    step_condition: None | StepConditionEnumeration = field(
        default=None,
        metadata={
            "name": "StepCondition",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    handrail_type: None | HandrailEnumeration = field(
        default=None,
        metadata={
            "name": "HandrailType",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    handrail_height: None | Decimal = field(
        default=None,
        metadata={
            "name": "HandrailHeight",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    lower_handrail_height: None | Decimal = field(
        default=None,
        metadata={
            "name": "LowerHandrailHeight",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    tactile_writing: None | bool = field(
        default=None,
        metadata={
            "name": "TactileWriting",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    stair_ramp: None | StairRampEnumeration = field(
        default=None,
        metadata={
            "name": "StairRamp",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    top_end: None | StairEndStructure = field(
        default=None,
        metadata={
            "name": "TopEnd",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    bottom_end: None | StairEndStructure = field(
        default=None,
        metadata={
            "name": "BottomEnd",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    continuous_handrail: None | bool = field(
        default=None,
        metadata={
            "name": "ContinuousHandrail",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )