from __future__ import annotations

from typing import NamedTuple
from typing import TypedDict

import numpy as np

# generated by df2class


class MZMLRow(TypedDict):
    retention_time_sec: float
    scanindex: int
    mzmax: float
    mzmin: float
    imax: float
    # mzranges: np.ndarray


# generated by df2class


class EICSJob(NamedTuple):
    eics: np.ndarray  # item: float32
    adjustedRsq: np.ndarray  # item: float32
    isotopeEnvelopes: np.ndarray  # item: float32
    monoFitParams: np.ndarray  # item: float32
    heavyDistribution: np.ndarray  # item: float32
    heavyFitParams: np.ndarray  # item: float32
    labelledEnvelopes: np.ndarray  # item: float32
    relativeIsotopeAbundance: float
    enrichment: float
    # labelEnrichment2: float
    heavyCor: float
    heavyCor2: float
    fail: int
    peptide_index: int
    peptide: str
    eics_shape: np.ndarray  # item: int64
