export type NavView = 'chat' | 'accounts' | 'assets' | 'config';

export interface Account {
  id: string;
  name: string;
  description: string;
  defaultFormat: string;
  imageModel: string;
  videoModel: string;
  batchSize: number;
  ttsVoice: string;
  ttsInstruction: string;
  storyboardPrompt: string;
  imageStylePrompt: string;
  videoStylePrompt: string;
  references: { file: string; url?: string }[];
  capcut: Record<string, unknown>;
}

export interface Conversation {
  id: string;
  title: string;
  account_id: string | null;
  created_at: string;
  updated_at: string;
}

export interface Message {
  id: string;
  conversation_id: string;
  role: 'user' | 'assistant' | 'system' | 'tool';
  content: string;
  tool_calls?: unknown;
  created_at: string;
}

export interface Asset {
  id: string;
  account_id: string | null;
  manifest_path: string | null;
  type: 'image' | 'video';
  file_path: string;
  url: string | null;
  shot_index: number | null;
  created_at: string;
}

export interface ConfigItem {
  id: string;
  key: string;
  value: Record<string, unknown>;
  updated_at: string;
}
