export type ScanState = 'idle' | 'running' | 'paused';

type ScanPhase = 'reading' | 'checking';

export type ScanAction = 'start' | 'pause' | 'resume' | 'cancel';

export type Scan = {
	state: ScanState;
	phase: ScanPhase | null;
	done: number;
	total: number;
	eta_seconds: number | null;
	parallel: number;
	finished_at: string | null;
	posts_count: number;
};

export type Counts = {
	total: number;
	working: number;
	broken: number;
	blocked: number;
	moved: number;
	retrying: number;
	ignored: number;
};

export type Status = {
	first_run: boolean;
	scan: Scan;
	counts: Counts;
	places: {
		broken: number;
		blocked: number;
		moved: number;
	};
	scheduler: {
		healthy: boolean;
		last_run_at: string | null;
	};
	database: {
		response_ms: number;
		pause_at_ms: number;
		size_bytes: number;
		tables: number;
	};
	data_version: number;
	now: string;
};
