import { Category } from "../models/Category"; import { CategoryRepository } from "../repositories/CategoryRepository"; /** * DTO for category creation */ export interface CreateCategoryDTO { teacherId: string; name: string; description?: string; displayOrder?: number; } /** * DTO for category update */ export interface UpdateCategoryDTO { name?: string; description?: string; displayOrder?: number; } /** * Service class for handling category-related business logic */ export declare class CategoryService { private categoryRepository; constructor(categoryRepository: CategoryRepository); /** * Create a new category */ createCategory(categoryData: CreateCategoryDTO): Promise; /** * Get all categories for a teacher */ getCategoriesByTeacherId(teacherId: string): Promise; /** * Get all categories with pagination */ getAllCategories(page?: number, limit?: number): Promise; /** * Get a category by ID */ getCategoryById(id: string): Promise; /** * Update a category */ updateCategory(id: string, data: UpdateCategoryDTO): Promise; /** * Delete a category */ deleteCategory(id: string): Promise; /** * Get total count of categories */ getTotalCategoryCount(): Promise; }