import { GenericSessionManager } from '../core/generic-session-manager';
import { PluginManager } from '../core/plugin-manager';
import { Logger } from '../core/error-handling';
import { OperateSessionData, ProposedChanges } from './operate';
/**
 * Result type for operate analysis
 */
interface OperateAnalysisResult {
    status: 'awaiting_user_approval';
    sessionId: string;
    visualizationUrl?: string;
    analysis: {
        summary: string;
        currentState: unknown;
        proposedChanges: ProposedChanges;
        commands: string[];
        dryRunValidation: {
            status: 'success' | 'failed';
            details: string;
        };
        patternsApplied: string[];
        capabilitiesUsed: string[];
        policiesChecked: string[];
        risks: {
            level: 'low' | 'medium' | 'high';
            description: string;
        };
        validationIntent: string;
    };
    message: string;
    agentInstructions: string;
}
/**
 * Analyzes user intent and generates operational proposal using AI tool loop
 *
 * PRD #343: pluginManager is required - all kubectl operations go through plugin.
 *
 * @param intent - User's operational intent (e.g., "update my-api to v2.0")
 * @param logger - Logger instance
 * @param sessionManager - Session manager instance
 * @param pluginManager - Plugin manager for kubectl operations
 * @param sessionId - Optional session ID for refinement
 * @param interaction_id - Optional interaction ID for eval datasets
 * @returns Operation output with proposed changes
 */
export declare function analyzeIntent(intent: string, logger: Logger, sessionManager: GenericSessionManager<OperateSessionData>, pluginManager: PluginManager, sessionId?: string, interaction_id?: string): Promise<OperateAnalysisResult>;
export {};
//# sourceMappingURL=operate-analysis.d.ts.map