/**
 * Security Assessment Tool
 * AI-powered Azure security compliance analysis
 */
import { AuthContext } from '../auth/azure-auth.js';
import { Tool, ToolConfig } from './registry.js';
export interface SecurityAssessmentArgs {
    subscription_id: string;
    resource_group?: string;
    compliance_framework: 'SOC2' | 'ISO27001' | 'NIST' | 'CIS' | 'custom';
    include_remediation?: boolean;
    severity_filter?: 'low' | 'medium' | 'high' | 'critical';
}
export interface SecurityAssessmentResult {
    success: boolean;
    data: {
        compliance_summary: {
            framework: string;
            overall_score: number;
            total_controls: number;
            passed_controls: number;
            failed_controls: number;
            not_applicable: number;
        };
        security_findings: Array<{
            id: string;
            title: string;
            description: string;
            severity: 'Low' | 'Medium' | 'High' | 'Critical';
            category: string;
            affected_resources: string[];
            compliance_impact: string;
            remediation_steps?: string[];
        }>;
        policy_compliance: {
            total_policies: number;
            compliant_policies: number;
            non_compliant_policies: number;
            policy_violations: Array<{
                policy_name: string;
                violation_count: number;
                affected_resources: string[];
            }>;
        };
        ai_insights: {
            risk_assessment: string;
            priority_recommendations: Array<{
                title: string;
                description: string;
                impact: 'Low' | 'Medium' | 'High' | 'Critical';
                effort: 'Low' | 'Medium' | 'High';
                implementation_steps: string[];
            }>;
            compliance_gaps: string[];
            security_trends: string;
        };
    };
    metadata: {
        execution_time?: number;
        api_calls: number;
        assessment_date: string;
        framework_version?: string;
    };
}
export declare class SecurityAssessmentTool implements Tool {
    name: string;
    description: string;
    inputSchema: {
        type: string;
        properties: {
            subscription_id: {
                type: string;
                description: string;
            };
            resource_group: {
                type: string;
                description: string;
            };
            compliance_framework: {
                type: string;
                enum: string[];
                description: string;
                default: string;
            };
            include_remediation: {
                type: string;
                description: string;
                default: boolean;
            };
            severity_filter: {
                type: string;
                enum: string[];
                description: string;
            };
        };
        required: string[];
    };
    private aiAnalyzer;
    private logger;
    constructor(config: ToolConfig);
    execute(args: SecurityAssessmentArgs, _context: AuthContext): Promise<SecurityAssessmentResult>;
    private fetchSecurityAssessments;
    private fetchPolicyCompliance;
    private processSecurityFindings;
    private processPolicyCompliance;
    private calculateComplianceScore;
    private mapSeverity;
    private getComplianceImpact;
    private getFrameworkControls;
    private mapFindingToControls;
    private getFrameworkVersion;
}
//# sourceMappingURL=security-assessment.d.ts.map