export type AdminCategoryStatus = 'draft' | 'published';

export interface AdminCategoryTranslation {
  title?: string;
  description?: string;
  seoTitle?: string;
  seoDescription?: string;
}

export interface AdminCategorySeo {
  metaTitle: string;
  metaDescription: string;
  keywords: string;
}

export interface AdminCategoryAttribute {
  key: string;
  value: string;
}

export interface AdminCategory {
  id: string;
  parentId: string | null;
  title: string;
  slug: string;
  description: string;
  icon: string;
  imageUrl: string;
  imageAlt: string;
  order: number;
  visible: boolean;
  status: AdminCategoryStatus;
  itemsCount: number;
  translations: Record<string, AdminCategoryTranslation>;
  seo: AdminCategorySeo;
  attributes: AdminCategoryAttribute[];
  deletedAt: string | null;
  createdAt: string;
  updatedAt: string;
}

export interface AdminCategoryListFilters {
  search: string;
  visibility: 'all' | 'visible' | 'hidden';
  includeDeleted: boolean;
}

export type AdminCategoryEditorMode = 'create' | 'edit';
