# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
from dataclasses import dataclass

from allotropy.allotrope.models.shared.definitions.definitions import (
    TNullableQuantityValue,
    TQuantityValue,
)
from allotropy.allotrope.models.shared.definitions.units import (
    Cell,
    Centimeter,
    Counts,
    CountsPerMicroliter,
    CountsPerMilliliter,
    CountsPerSecond,
    CountsTimesSecond,
    CubicMillimeter,
    DegreeCelsius,
    GramPerLiter,
    Hertz,
    KiloDalton,
    MicrogramPerMicroliter,
    MicrogramPerMilliliter,
    Microliter,
    MicroliterPerMinute,
    Micrometer,
    MilliAbsorbanceUnit,
    MilliAbsorbanceUnitTimesMilliliter,
    MilliAbsorbanceUnitTimesSecond,
    MilligramPerLiter,
    MilligramPerMilliliter,
    Milliliter,
    MilliliterPerLiter,
    Millimeter,
    MillimeterOfMercury,
    MillimolePerLiter,
    MillionCellsPerMilliliter,
    MilliOsmolesPerKilogram,
    MilliSecond,
    Millivolt,
    MillivoltTimesSecond,
    Molar,
    NanoCoulomb,
    NanoCoulombTimesSecond,
    NanogramPerMicroliter,
    NanogramPerMilliliter,
    Nanometer,
    Nanomolar,
    Number,
    NumberPerMicroliter,
    OpticalDensity,
    PartsPerBillion,
    PartsPerMillion,
    Percent,
    PerSecond,
    PH,
    PicoAmpere,
    PicoAmpereTimesSecond,
    PicogramPerMilliliter,
    RelativeFluorescenceUnit,
    RelativeFluorescenceUnitTimesMilliliter,
    RelativeFluorescenceUnitTimesSecond,
    RelativeLightUnit,
    RelativeLightUnitTimesMilliliter,
    RelativeLightUnitTimesSecond,
    SecondTime,
    SquareCentimetersPerGram,
    SquareCentimetersPerMole,
    TODO,
    Unitless,
    UnitPerLiter,
)


@dataclass(frozen=True, kw_only=True)
class TQuantityValueCell(Cell, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueCell(Cell, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueCentimeter(Centimeter, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueCentimeter(Centimeter, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueCounts(Counts, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueCounts(Counts, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueCountsPerMicroliter(CountsPerMicroliter, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueCountsPerMicroliter(
    CountsPerMicroliter, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueCountsPerMilliliter(CountsPerMilliliter, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueCountsPerMilliliter(
    CountsPerMilliliter, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueCountsPerSecond(CountsPerSecond, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueCountsPerSecond(CountsPerSecond, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueCountsTimesSecond(CountsTimesSecond, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueCountsTimesSecond(
    CountsTimesSecond, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueCubicMillimeter(CubicMillimeter, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueCubicMillimeter(CubicMillimeter, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueDegreeCelsius(DegreeCelsius, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueDegreeCelsius(DegreeCelsius, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueGramPerLiter(GramPerLiter, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueGramPerLiter(GramPerLiter, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueHertz(Hertz, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueHertz(Hertz, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueKiloDalton(KiloDalton, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueKiloDalton(KiloDalton, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueMicrogramPerMicroliter(MicrogramPerMicroliter, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueMicrogramPerMicroliter(
    MicrogramPerMicroliter, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueMicrogramPerMilliliter(MicrogramPerMilliliter, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueMicrogramPerMilliliter(
    MicrogramPerMilliliter, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueMicroliter(Microliter, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueMicroliter(Microliter, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueMicroliterPerMinute(MicroliterPerMinute, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueMicroliterPerMinute(
    MicroliterPerMinute, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueMicrometer(Micrometer, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueMicrometer(Micrometer, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueMilliAbsorbanceUnit(MilliAbsorbanceUnit, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueMilliAbsorbanceUnit(
    MilliAbsorbanceUnit, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueMilliAbsorbanceUnitTimesMilliliter(
    MilliAbsorbanceUnitTimesMilliliter, TQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueMilliAbsorbanceUnitTimesMilliliter(
    MilliAbsorbanceUnitTimesMilliliter, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueMilliAbsorbanceUnitTimesSecond(
    MilliAbsorbanceUnitTimesSecond, TQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueMilliAbsorbanceUnitTimesSecond(
    MilliAbsorbanceUnitTimesSecond, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueMilliOsmolesPerKilogram(MilliOsmolesPerKilogram, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueMilliOsmolesPerKilogram(
    MilliOsmolesPerKilogram, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueMilliSecond(MilliSecond, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueMilliSecond(MilliSecond, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueMilligramPerLiter(MilligramPerLiter, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueMilligramPerLiter(
    MilligramPerLiter, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueMilligramPerMilliliter(MilligramPerMilliliter, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueMilligramPerMilliliter(
    MilligramPerMilliliter, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueMilliliter(Milliliter, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueMilliliter(Milliliter, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueMilliliterPerLiter(MilliliterPerLiter, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueMilliliterPerLiter(
    MilliliterPerLiter, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueMillimeter(Millimeter, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueMillimeter(Millimeter, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueMillimeterOfMercury(MillimeterOfMercury, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueMillimeterOfMercury(
    MillimeterOfMercury, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueMillimolePerLiter(MillimolePerLiter, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueMillimolePerLiter(
    MillimolePerLiter, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueMillionCellsPerMilliliter(
    MillionCellsPerMilliliter, TQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueMillionCellsPerMilliliter(
    MillionCellsPerMilliliter, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueMillivolt(Millivolt, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueMillivolt(Millivolt, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueMillivoltTimesSecond(MillivoltTimesSecond, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueMillivoltTimesSecond(
    MillivoltTimesSecond, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueMolar(Molar, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueMolar(Molar, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueNanoCoulomb(NanoCoulomb, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueNanoCoulomb(NanoCoulomb, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueNanoCoulombTimesSecond(NanoCoulombTimesSecond, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueNanoCoulombTimesSecond(
    NanoCoulombTimesSecond, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueNanogramPerMicroliter(NanogramPerMicroliter, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueNanogramPerMicroliter(
    NanogramPerMicroliter, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueNanogramPerMilliliter(NanogramPerMilliliter, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueNanogramPerMilliliter(
    NanogramPerMilliliter, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueNanometer(Nanometer, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueNanometer(Nanometer, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueNanomolar(Nanomolar, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueNanomolar(Nanomolar, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueNumber(Number, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueNumber(Number, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueNumberPerMicroliter(NumberPerMicroliter, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueNumberPerMicroliter(
    NumberPerMicroliter, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueOpticalDensity(OpticalDensity, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueOpticalDensity(OpticalDensity, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValuePH(PH, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValuePH(PH, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValuePartsPerBillion(PartsPerBillion, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValuePartsPerBillion(PartsPerBillion, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValuePartsPerMillion(PartsPerMillion, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValuePartsPerMillion(PartsPerMillion, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValuePerSecond(PerSecond, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValuePerSecond(PerSecond, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValuePercent(Percent, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValuePercent(Percent, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValuePicoAmpere(PicoAmpere, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValuePicoAmpere(PicoAmpere, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValuePicoAmpereTimesSecond(PicoAmpereTimesSecond, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValuePicoAmpereTimesSecond(
    PicoAmpereTimesSecond, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValuePicogramPerMilliliter(PicogramPerMilliliter, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValuePicogramPerMilliliter(
    PicogramPerMilliliter, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueRelativeFluorescenceUnit(RelativeFluorescenceUnit, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueRelativeFluorescenceUnit(
    RelativeFluorescenceUnit, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueRelativeFluorescenceUnitTimesMilliliter(
    RelativeFluorescenceUnitTimesMilliliter, TQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueRelativeFluorescenceUnitTimesMilliliter(
    RelativeFluorescenceUnitTimesMilliliter, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueRelativeFluorescenceUnitTimesSecond(
    RelativeFluorescenceUnitTimesSecond, TQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueRelativeFluorescenceUnitTimesSecond(
    RelativeFluorescenceUnitTimesSecond, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueRelativeLightUnit(RelativeLightUnit, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueRelativeLightUnit(
    RelativeLightUnit, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueRelativeLightUnitTimesMilliliter(
    RelativeLightUnitTimesMilliliter, TQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueRelativeLightUnitTimesMilliliter(
    RelativeLightUnitTimesMilliliter, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueRelativeLightUnitTimesSecond(
    RelativeLightUnitTimesSecond, TQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueRelativeLightUnitTimesSecond(
    RelativeLightUnitTimesSecond, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueSecondTime(SecondTime, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueSecondTime(SecondTime, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueSquareCentimetersPerGram(SquareCentimetersPerGram, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueSquareCentimetersPerGram(
    SquareCentimetersPerGram, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueSquareCentimetersPerMole(SquareCentimetersPerMole, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueSquareCentimetersPerMole(
    SquareCentimetersPerMole, TNullableQuantityValue
):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueTODO(TODO, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueTODO(TODO, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueUnitPerLiter(UnitPerLiter, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueUnitPerLiter(UnitPerLiter, TNullableQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TQuantityValueUnitless(Unitless, TQuantityValue):
    pass


@dataclass(frozen=True, kw_only=True)
class TNullableQuantityValueUnitless(Unitless, TNullableQuantityValue):
    pass
