export interface Scenario {
  id: string;
  name: string;
  description?: string;
  tags: string[];
  status: 'draft' | 'running' | 'completed' | 'archived';
  region: string;
  created_at: string;
  updated_at: string;
  completed_at?: string;
  started_at?: string;
  total_requests: number;
  total_cost_estimate: number;
}

export interface ScenarioCreate {
  name: string;
  description?: string;
  tags?: string[];
  region: string;
}

export interface ScenarioUpdate {
  name?: string;
  description?: string;
  tags?: string[];
}

export interface ScenarioList {
  items: Scenario[];
  total: number;
  page: number;
  page_size: number;
}

export interface MetricSummary {
  total_requests: number;
  total_cost_usd: number;
  sqs_blocks: number;
  lambda_invocations: number;
  llm_tokens: number;
  pii_violations: number;
}

export interface CostBreakdown {
  service: string;
  cost_usd: number;
  percentage: number;
}

export interface MetricsResponse {
  scenario_id: string;
  summary: MetricSummary;
  cost_breakdown: CostBreakdown[];
  timeseries: {
    timestamp: string;
    metric_type: string;
    value: number;
  }[];
}
