import * as i0 from "@angular/core";
export interface DashboardKPIs {
    totalExecutions: number;
    activeExecutions: number;
    totalCost: number;
    costCurrency: string;
    avgExecutionTime: number;
    successRate: number;
    totalTokens: number;
    costPerToken: number;
    topModel: string;
    topAgent: string;
    errorRate: number;
    dailyCostBurn: number;
}
export interface TrendData {
    timestamp: Date;
    executions: number;
    cost: number;
    tokens: number;
    avgTime: number;
    errors: number;
}
export interface LiveExecution {
    id: string;
    type: 'prompt' | 'agent';
    name: string;
    status: 'running' | 'completed' | 'failed';
    startTime: Date;
    duration?: number;
    cost?: number;
    tokens?: number;
    progress?: number;
}
export interface ExecutionDetails {
    id: string;
    type: 'prompt' | 'agent';
    name: string;
    status: string;
    startTime: Date;
    endTime?: Date;
    cost: number;
    tokens: number;
    success: boolean;
    errorMessage?: string;
    parentId?: string;
    children: ExecutionDetails[];
    model?: string;
    vendor?: string;
}
export interface ChartData {
    executionTrends: TrendData[];
    costByModel: {
        model: string;
        cost: number;
        tokens: number;
    }[];
    performanceMatrix: {
        agent: string;
        model: string;
        avgTime: number;
        successRate: number;
    }[];
    tokenEfficiency: {
        inputTokens: number;
        outputTokens: number;
        cost: number;
        model: string;
    }[];
}
export declare class AIInstrumentationService {
    private readonly _dateRange$;
    private readonly _refreshTrigger$;
    private readonly _isLoading$;
    private readonly metadata;
    readonly isLoading$: import("rxjs").Observable<boolean>;
    constructor();
    readonly kpis$: import("rxjs").Observable<DashboardKPIs>;
    readonly trends$: import("rxjs").Observable<TrendData[]>;
    readonly liveExecutions$: import("rxjs").Observable<LiveExecution[]>;
    readonly chartData$: import("rxjs").Observable<ChartData>;
    private loadingCount;
    private checkLoadingComplete;
    setDateRange(start: Date, end: Date): void;
    refresh(): void;
    private loadKPIs;
    private loadTrends;
    private loadLiveExecutions;
    private loadChartData;
    private countActiveExecutions;
    private sumCosts;
    private sumTokens;
    private calculateAverageExecutionTime;
    private calculateSuccessRate;
    private countErrors;
    private calculateDailyCostBurn;
    private createHourlyBuckets;
    private getTopModel;
    private getTopAgent;
    private analyzeCostByModel;
    private analyzePerformanceMatrix;
    private analyzeTokenEfficiency;
    getExecutionDetails(executionId: string, type: 'prompt' | 'agent'): Promise<ExecutionDetails | null>;
    private getPromptExecutionDetails;
    private getAgentExecutionDetails;
    static ɵfac: i0.ɵɵFactoryDeclaration<AIInstrumentationService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AIInstrumentationService>;
}
//# sourceMappingURL=ai-instrumentation.service.d.ts.map