export interface Category {
  id: string
  nameEn: string
  nameFa: string
  description: string
  parentId: string | null
  variationCount: number
}

export interface CategoryFormData {
  parentId: string
  nameFa: string
  nameEn: string
  description: string
}

export interface FlatCategory extends Category {
  depth: number
}

export interface ProductCategory {
  id: string
  businessId: string
  entityType: 'product' | 'blog' | 'portfolio'
  parentId: string | null
  name: string
  nameFa: string | null
  slug: string
  description: string | null
  sortOrder: number
  isActive: boolean
  variationCount?: number
  createdAt: string
  updatedAt: string
}

export interface ProductCategoriesResponse {
  items: ProductCategory[]
}

export interface CreateCategoryPayload {
  parentId?: string
  name: string
  nameFa?: string
  description?: string
  slug?: string
  sortOrder?: number
}

export interface UpdateCategoryPayload {
  parentId?: string | null
  name?: string
  nameFa?: string | null
  description?: string | null
  slug?: string
  sortOrder?: number
  isActive?: boolean
}
