export type ScenarioStatus = "draft" | "running" | "paused" | "completed" | "active" | "archived"
export type Channel = "phone" | "wechat" | "douyin" | "xiaohongshu" | "api"

export interface ScenarioBase {
  id: string
  name: string
  type: string
  status: ScenarioStatus
  creator: string
  createdAt: string
  updatedAt: string
  description?: string
}

export interface Scenario {
  id: string
  name: string
  channel: Channel
  createdAt: string
  status: ScenarioStatus
  config?: Record<string, unknown>
}

export interface CreateScenarioParams {
  name: string
  type: string
  channel: Channel
  description?: string
}

export interface UpdateScenarioParams extends Partial<CreateScenarioParams> {
  id: string
}

export interface QueryScenarioParams {
  type?: string
  status?: ScenarioStatus
  keyword?: string
  dateRange?: { start: string; end: string }
  page?: number
  pageSize?: number
}

export interface ScenarioStats {
  id: string
  impressions: number
  clicks: number
  conversions: number
}

export interface AcquisitionRecord {
  id: string
  scenarioId: string
  userId: string
  time: string
  channel: Channel
}

export interface PaginatedResponse<T> {
  items: T[]
  total: number
  page: number
  pageSize: number
  totalPages: number
}

export interface ApiResponse<T> {
  code: number
  message: string
  data: T | null
}
