/**
 * EnsembleActivationStrategy - Strategy for ensemble element activation
 *
 * Handles activation, deactivation, and status tracking for ensemble elements.
 * Ensembles coordinate multiple elements and require all managers for activation.
 */
import { EnsembleManager } from '../../elements/ensembles/EnsembleManager.js';
import { SkillManager } from '../../elements/skills/index.js';
import { TemplateManager } from '../../elements/templates/TemplateManager.js';
import { AgentManager } from '../../elements/agents/AgentManager.js';
import { MemoryManager } from '../../elements/memories/MemoryManager.js';
import { PersonaManager } from '../../persona/PersonaManager.js';
import { PortfolioManager } from '../../portfolio/PortfolioManager.js';
import { BaseActivationStrategy } from './BaseActivationStrategy.js';
import { ElementActivationStrategy, MCPResponse } from './ElementActivationStrategy.js';
export declare class EnsembleActivationStrategy extends BaseActivationStrategy implements ElementActivationStrategy {
    private readonly ensembleManager;
    private readonly portfolioManager;
    private readonly skillManager;
    private readonly templateManager;
    private readonly agentManager;
    private readonly memoryManager;
    private readonly personaManager;
    constructor(ensembleManager: EnsembleManager, portfolioManager: PortfolioManager, skillManager: SkillManager, templateManager: TemplateManager, agentManager: AgentManager, memoryManager: MemoryManager, personaManager: PersonaManager);
    /**
     * Activate an ensemble with all its constituent elements
     * Extracted from ElementCRUDHandler.ts lines 281-345
     */
    activate(name: string): Promise<MCPResponse>;
    /**
     * Deactivate an ensemble
     * NOTE: This was missing in the original implementation - adding it now
     *
     * @throws {ElementNotFoundError} When ensemble does not exist
     * @see Issue #275 - Handlers return success=true for missing elements
     */
    deactivate(name: string): Promise<MCPResponse>;
    private getManagers;
    private deactivateMembers;
    private deactivateMember;
    /**
     * Get all active ensembles
     * NOTE: This was missing in the original implementation - adding basic version
     */
    getActiveElements(): Promise<MCPResponse>;
    /**
     * Get detailed information about an ensemble
     * Extracted from ElementCRUDHandler.ts lines 807-846
     */
    getElementDetails(name: string): Promise<MCPResponse>;
}
//# sourceMappingURL=EnsembleActivationStrategy.d.ts.map