use thiserror::Error;
#[derive(Error, Debug, Clone)]
pub enum ObservationError {
#[error("Insufficient data: {n} points, need at least {required}")]
InsufficientData {
n: usize,
required: usize,
},
#[error("Invalid time sequence: times must be monotonically increasing")]
InvalidTimeSequence,
#[error("All values are zero or below quantification limit")]
AllBelowLOQ,
#[error("No observations found for outeq {outeq}")]
NoObservations {
outeq: usize,
},
#[error("Array length mismatch: {description}")]
ArrayLengthMismatch {
description: String,
},
}