import type { PersonaConfig, ActivePersona, CollaborationPlan, PersonaActivationResult, PersonaFeedback, PersonaManagerAnalytics, GeneratedPrompt } from '../types/personas.js';
import type { InputContext } from '../types/context.js';
export interface ParsedPersona extends PersonaConfig {
    name: string;
    content: string;
    isActive: boolean;
    activationReason: string | null;
    confidence: number;
    reasoning?: string;
}
declare class PersonaManager {
    private configDir;
    private specialistsDir;
    private activationEngine;
    private config;
    personas: Map<string, ParsedPersona>;
    activePersonas: ParsedPersona[];
    private sessionMemory;
    private collaborationMatrix;
    constructor(configDir?: string);
    initialize(): Promise<boolean>;
    private loadConfiguration;
    private loadPersonaDefinitions;
    private parsePersonaDefinition;
    private initializeCollaborationMatrix;
    selectPersonas(userInput: string, context?: Partial<InputContext>): Promise<PersonaActivationResult>;
    private parseManualOverrides;
    activateManualPersonas(personaNames: string[], userInput: string, context: Partial<InputContext>): PersonaActivationResult;
    private activateRecommendedPersonas;
    planCollaboration(activePersonas: ActivePersona[]): CollaborationPlan;
    determineLead(activePersonas: ActivePersona[]): ActivePersona;
    private getCollaborationPattern;
    private planValidationChain;
    private generateActivationSummary;
    generatePersonaPrompt(activePersonas: ActivePersona[], userInput: string, context?: Partial<InputContext>): GeneratedPrompt;
    private recordInteraction;
    private getSessionId;
    provideFeedback(feedback: PersonaFeedback): void;
    getAnalytics(): PersonaManagerAnalytics;
    reset(): void;
    getActivePersonas(): ActivePersona[];
    isPersonaActive(personaName: string): boolean;
}
export default PersonaManager;
//# sourceMappingURL=persona-manager.d.ts.map