/**
 * Category operations.
 * Manages ticket and status categories.
 */
import { Category, CategoryFilter, CategoryType } from '../types.js';
import { StorageContext } from './types.js';
export declare class CategoryStorage {
    private ctx;
    constructor(ctx: StorageContext);
    /**
     * List categories.
     */
    listCategories(filter?: CategoryFilter): Promise<Category[]>;
    /**
     * Get a category by ID.
     */
    getCategory(id: string): Promise<Category | null>;
    /**
     * Get a category by name and type.
     */
    getCategoryByName(name: string, type: CategoryType): Promise<Category | null>;
    /**
     * Create a new category.
     */
    createCategory(category: Partial<Category> & {
        name: string;
        type: CategoryType;
    }): Promise<Category>;
    /**
     * Update a category.
     */
    updateCategory(id: string, changes: Partial<Category>): Promise<Category>;
    /**
     * Rename a category.
     */
    renameCategory(id: string, newName: string): Promise<Category>;
    /**
     * Delete a category.
     */
    deleteCategory(id: string): Promise<void>;
    /**
     * Get category names for a type (for validation and autocomplete).
     */
    getCategoryNames(type: CategoryType): Promise<string[]>;
    /**
     * Check if a category name is valid for a type.
     */
    isValidCategory(name: string, type: CategoryType): Promise<boolean>;
    private rowToCategory;
}
