/**
 * Template Maintenance Manager
 *
 * Ensures Expert Profile Templates remain current as OpenRouter models change.
 * Provides automatic validation, updating, and migration of templates and user profiles.
 */
import { ExpertTemplate } from './expert-profile-templates.js';
export interface ModelValidationResult {
    isValid: boolean;
    exists: boolean;
    isActive: boolean;
    suggestion?: string;
    reason?: string;
}
export interface TemplateHealthReport {
    templateId: string;
    templateName: string;
    isHealthy: boolean;
    issues: string[];
    suggestions: ModelSuggestion[];
    lastChecked: string;
}
export interface ModelSuggestion {
    stage: string;
    currentModel: string;
    suggestedModel: string;
    reason: string;
    confidence: number;
}
export interface TemplateMaintenanceConfig {
    enableAutoUpdate: boolean;
    enableProfileMigration: boolean;
    checkIntervalHours: number;
    confidenceThreshold: number;
    fallbackStrategies: string[];
}
export declare class TemplateMaintenanceManager {
    private config;
    constructor(config?: Partial<TemplateMaintenanceConfig>);
    /**
     * Validate all Expert Templates against current OpenRouter models
     */
    validateAllTemplates(): Promise<TemplateHealthReport[]>;
    /**
     * Validate a single template
     */
    validateTemplate(template: ExpertTemplate): Promise<TemplateHealthReport>;
    /**
     * Validate if a model exists and is active in OpenRouter
     */
    validateModel(modelId: string): Promise<ModelValidationResult>;
    /**
     * Find a suitable replacement for an unavailable model
     */
    findModelReplacement(unavailableModelId: string): Promise<string | undefined>;
    /**
     * Find replacement model based on tier (GPT-4 class, Claude Sonnet class, etc.)
     */
    findTierReplacement(unavailableModelId: string): Promise<string | undefined>;
    /**
     * Auto-update templates with better model suggestions
     */
    updateTemplatesWithSuggestions(reports: TemplateHealthReport[]): Promise<void>;
    /**
     * Apply model suggestions to a template
     */
    applyTemplateSuggestions(templateId: string, suggestions: ModelSuggestion[]): Promise<void>;
    /**
     * Migrate existing user profiles when their models become unavailable
     */
    migrateUserProfiles(): Promise<void>;
    /**
     * Run complete maintenance check
     */
    runMaintenanceCheck(): Promise<void>;
    /**
     * Store maintenance results for tracking
     */
    storeMaintenanceResults(reports: TemplateHealthReport[]): Promise<void>;
    /**
     * Check if maintenance is due
     */
    isMaintenanceDue(): Promise<boolean>;
    /**
     * 🛡️ Suggest a real model replacement for pseudo-models
     */
    private suggestRealModelReplacement;
}
/**
 * Run template maintenance as part of setup/sync process
 */
export declare function runTemplateMaintenanceIfDue(): Promise<void>;
/**
 * Force run template maintenance (for manual trigger)
 */
export declare function forceRunTemplateMaintenance(): Promise<void>;
//# sourceMappingURL=template-maintenance.d.ts.map