import type { StrategyInfo, CategoryMetadata } from './types.js';
import { CollectionsManager } from './collections-manager.js';
export declare class StrategyManager {
    private strategies;
    private strategiesDir;
    private customPromptsDir?;
    private categoryMetadata;
    private cache;
    private fileWatcher?;
    private customFileWatcher?;
    private collectionsManager;
    constructor(strategiesDir?: string, customPromptsDir?: string);
    private findStrategiesDirectory;
    private findCustomPromptsDirectory;
    private setupFileWatcher;
    private loadStrategies;
    private loadStrategiesFromDirectory;
    private loadJsonFile;
    private loadCategoryMetadata;
    private loadStrategy;
    getStrategy(key: string): StrategyInfo | undefined;
    getAllStrategies(): Map<string, StrategyInfo>;
    getStrategyNames(): string[];
    listStrategies(): Record<string, {
        name: string;
        description: string;
    }>;
    getStrategyExamples(): Array<[string, string]>;
    getCategoryMetadata(): Map<string, CategoryMetadata>;
    getAllCategoriesMetadata(): Record<string, CategoryMetadata>;
    getCategoryStrategies(categoryName: string): Record<string, StrategyInfo>;
    private getStrategyFilesInCategory;
    getCategoryNames(): string[];
    getCustomStrategies(): Map<string, StrategyInfo>;
    getBuiltInStrategies(): Map<string, StrategyInfo>;
    getStrategiesBySource(source?: 'built-in' | 'custom' | 'all'): Map<string, StrategyInfo>;
    getCustomCategories(): string[];
    getCollectionsManager(): CollectionsManager;
    getCollectionStrategies(collectionKey: string): Map<string, StrategyInfo>;
    validateCollectionStrategies(collectionKey: string): {
        valid: string[];
        invalid: string[];
    };
    clearCache(): void;
    getCacheStats(): {
        size: number;
        hitRate?: number;
    };
    destroy(): void;
    isHealthy(): boolean;
    getHealthStatus(): {
        healthy: boolean;
        strategiesCount: number;
        categoriesCount: number;
        cacheSize: number;
    };
}
//# sourceMappingURL=strategy-manager.d.ts.map