// Folder types for user tree organization

export interface Folder {
  id: string
  name: string
  color: string
  icon: string
  parent_id: string | null
  display_order: number
  tree_count: number
  created_at: string
  updated_at: string
}

export interface FolderListItem {
  id: string
  name: string
  color: string
  icon: string
  parent_id: string | null
  display_order: number
  tree_count: number
}

export interface FolderCreate {
  name: string
  color?: string
  icon?: string
  parent_id?: string | null
}

export interface FolderUpdate {
  name?: string
  color?: string
  icon?: string
  display_order?: number
  parent_id?: string | null
}

export interface FolderReorderRequest {
  folder_ids: string[]
}

export interface FolderTreeRequest {
  tree_id: string
}

// For hierarchical display of folders
export interface FolderTreeItem extends FolderListItem {
  children: FolderTreeItem[]
  isExpanded?: boolean
}
