use crate::*;
#[derive(Clone, Copy, Data, New)]
pub(crate) struct UseStopwatch {
#[get(type(copy))]
pub(crate) seconds: Signal<i32>,
#[get(type(copy))]
pub(crate) running: Signal<bool>,
#[get(type(copy))]
pub(crate) handle: Signal<Option<IntervalHandle>>,
}
#[derive(Clone, Copy, Data, New)]
pub(crate) struct UseCountdown {
#[get(type(copy))]
pub(crate) total: Signal<i32>,
#[get(type(copy))]
pub(crate) remaining: Signal<i32>,
#[get(type(copy))]
pub(crate) running: Signal<bool>,
#[get(type(copy))]
pub(crate) handle: Signal<Option<IntervalHandle>>,
#[get(type(copy))]
pub(crate) input: Signal<String>,
}