/**
 * Cost Analysis Tool
 * AI-powered Azure cost optimization analysis
 */
import { AuthContext } from '../auth/azure-auth.js';
import { Tool, ToolConfig } from './registry.js';
export interface CostAnalysisArgs {
    subscription_id: string;
    resource_group?: string;
    days_back?: number;
    include_recommendations?: boolean;
    granularity?: 'daily' | 'monthly';
    group_by?: string[];
}
export interface CostAnalysisResult {
    success: boolean;
    data: {
        cost_summary: {
            total_cost: number;
            currency: string;
            period: string;
            previous_period_cost?: number;
            cost_change_percentage?: number;
        };
        cost_breakdown: {
            by_service: Array<{
                service: string;
                cost: number;
                percentage: number;
            }>;
            by_resource_group?: Array<{
                resource_group: string;
                cost: number;
                percentage: number;
            }>;
            by_location?: Array<{
                location: string;
                cost: number;
                percentage: number;
            }>;
        };
        trends: {
            daily_costs: Array<{
                date: string;
                cost: number;
            }>;
            cost_trend: 'increasing' | 'decreasing' | 'stable';
            anomalies: Array<{
                date: string;
                cost: number;
                expected_cost: number;
                deviation: number;
            }>;
        };
        ai_insights: {
            top_optimization_opportunities: Array<{
                title: string;
                description: string;
                potential_savings: number;
                savings_percentage: number;
                complexity: 'Low' | 'Medium' | 'High';
                risk_level: 'Low' | 'Medium' | 'High';
                implementation_steps: string[];
            }>;
            cost_drivers: string[];
            recommendations_summary: string;
        };
        advisor_recommendations?: Array<{
            title: string;
            description: string;
            category: string;
            impact: string;
            potential_savings?: number;
        }>;
    };
    metadata: {
        execution_time?: number;
        api_calls: number;
        data_freshness: string;
    };
}
export declare class CostAnalysisTool implements Tool {
    name: string;
    description: string;
    inputSchema: {
        type: string;
        properties: {
            subscription_id: {
                type: string;
                description: string;
            };
            resource_group: {
                type: string;
                description: string;
            };
            days_back: {
                type: string;
                description: string;
                default: number;
                minimum: number;
                maximum: number;
            };
            include_recommendations: {
                type: string;
                description: string;
                default: boolean;
            };
            granularity: {
                type: string;
                enum: string[];
                description: string;
                default: string;
            };
            group_by: {
                type: string;
                items: {
                    type: string;
                    enum: string[];
                };
                description: string;
            };
        };
        required: string[];
    };
    private aiAnalyzer;
    private logger;
    constructor(config: ToolConfig);
    execute(args: CostAnalysisArgs, _context: AuthContext): Promise<CostAnalysisResult>;
    private processCostData;
    private analyzeCostTrend;
    private detectCostAnomalies;
    private calculateCostChange;
}
//# sourceMappingURL=cost-analysis.d.ts.map