use crate::prelude::{Epoch, SV};
pub(crate) mod private;
#[derive(Debug, Copy, Clone, Default, PartialEq)]
pub struct Ephemeris {
pub sv: SV,
pub toe: Epoch,
pub toc: Epoch,
pub semi_major_axis_m: f64,
pub eccentricity: f64,
pub m0_rad: f64,
pub i0_rad: f64,
pub idot_rad_s: f64,
pub dn_rad: f64,
pub omega0_rad: f64,
pub omega_rad: f64,
pub omega_dot_rad_s: f64,
pub cus_cuc_rad: (f64, f64),
pub cis_cic_rad: (f64, f64),
pub crs_crc_m: (f64, f64),
}
pub trait EphemerisSource {
fn ephemeris_data(&self, epoch: Epoch, sv: SV) -> Option<Ephemeris>;
}