import type { Enclos } from '@domain/entities/Enclos';
import type { Accouplement } from '@domain/entities/Accouplement';

export interface AppState {
  enclos: Enclos[];
  activeId: number | string | null;
  nextEnclosId: number;
  alarmSound: string;
  notifsEnabled: boolean;
  ntfyTopic: string;
  archivedStats: unknown[];
  inventaire: Record<string, { m: number; f: number }>;
  workflows: unknown[];
  accouplements: Accouplement[];
}

export interface StateRepository {
  load(): Promise<AppState | null>;
  save(state: AppState): void;
}
