import type { Runbook, RunbookExecution } from '@/domain/entities/runbook';

export interface RunbookRepository {
  list(): Promise<Runbook[]>;
  getById(id: string): Promise<Runbook>;
  create(runbook: Omit<Runbook, 'id' | 'createdAt' | 'updatedAt'>): Promise<Runbook>;
  update(id: string, data: Partial<Runbook>): Promise<Runbook>;
  remove(id: string): Promise<void>;
  execute(id: string): Promise<RunbookExecution>;
  getExecutions(id: string): Promise<RunbookExecution[]>;
}
