/**
 * @license
 * Copyright 2025 Vybestack LLC
 * SPDX-License-Identifier: Apache-2.0
 * @plan PLAN-20250909-TOKTRACK.P06a
 * @plan PLAN-20250909-TOKTRACK.P08
 */
import type { ProviderPerformanceMetrics } from '../types.js';
/**
 * Performance tracking utility for provider operations
 */
export declare class ProviderPerformanceTracker {
    private providerName;
    private metrics;
    private tokenTimestamps;
    private logger;
    constructor(providerName: string);
    private initializeMetrics;
    /**
     * Record a streaming chunk being received
     */
    recordChunk(chunkNumber: number, _contentLength: number): void;
    /**
     * Record completion of a request with performance data
     */
    recordCompletion(totalTime: number, timeToFirstToken: number | null, tokenCount: number, chunkCount: number): void;
    /**
     * Record an error that occurred during request
     */
    recordError(duration: number, error: string): void;
    /**
     * Track throttle wait time from 429 retries
     */
    trackThrottleWaitTime(waitTimeMs: number): void;
    /**
     * Get current performance metrics
     */
    getLatestMetrics(): ProviderPerformanceMetrics;
    /**
     * Reset all metrics (useful for long-running sessions)
     */
    reset(): void;
    /**
     * Calculate tokens per minute based on recent token usage
     */
    private calculateTokensPerMinute;
    /**
     * Add throttle wait time to metrics
     */
    addThrottleWaitTime(waitTimeMs: number): void;
    /**
     * Get performance summary as human-readable string
     */
    getPerformanceSummary(): string;
}
