// Auto-generated by shelley.exe.dev/cmd/go2ts.go
// Do not edit manually - regenerate with: go run ./cmd/go2ts -o ui/src/generated-types.ts

// DO NOT EDIT. This file is automatically generated.

export interface Conversation {
  conversation_id: string;
  slug: string | null;
  user_initiated: boolean;
  created_at: string;
  updated_at: string;
  cwd: string | null;
  archived: boolean;
  parent_conversation_id: string | null;
  model: string | null;
}

export interface Usage {
  input_tokens: number;
  cache_creation_input_tokens: number;
  cache_read_input_tokens: number;
  output_tokens: number;
  cost_usd: number;
  model?: string;
  start_time?: string | null;
  end_time?: string | null;
}

export interface ApiMessageForTS {
  message_id: string;
  conversation_id: string;
  sequence_id: number;
  type: string;
  llm_data?: string | null;
  user_data?: string | null;
  usage_data?: string | null;
  created_at: string;
  display_data?: string | null;
  end_of_turn?: boolean | null;
}

export interface ConversationStateForTS {
  conversation_id: string;
  working: boolean;
  model?: string;
}

export interface StreamResponseForTS {
  messages: ApiMessageForTS[] | null;
  conversation: Conversation;
  conversation_state?: ConversationStateForTS | null;
  heartbeat?: boolean;
}

export interface ConversationWithStateForTS {
  conversation_id: string;
  slug: string | null;
  user_initiated: boolean;
  created_at: string;
  updated_at: string;
  cwd: string | null;
  archived: boolean;
  parent_conversation_id: string | null;
  model: string | null;
  working: boolean;
}

export type MessageType = "user" | "agent" | "tool" | "error" | "system" | "gitinfo";
