package scheduler

import "time"

// Status is a lightweight snapshot of the scheduler's state.
type Status struct {
	Running   bool
	Mode      Mode
	StartedAt time.Time
	StoppedAt time.Time
	NextRun   time.Time
	LastRun   time.Time
	Count     int64
	LastError string
}

type EventType string

const (
	EventStatus EventType = "status"
	EventTick   EventType = "tick"
	EventError  EventType = "error"
	EventStop   EventType = "stop"
)

// Event is emitted over the scheduler event channel.
type Event struct {
	Type   EventType
	When   time.Time
	Status Status
	Note   string
}

