import type { AnalyticsData, TokenUsage } from "../types/analytics.js";
import type { StreamTextResult, StreamAnalyticsCollector, ResponseMetadata } from "../types/streamTypes.js";
/**
 * Base implementation for collecting analytics from Vercel AI SDK stream results
 */
export declare class BaseStreamAnalyticsCollector implements StreamAnalyticsCollector {
    /**
     * Collect token usage from stream result
     * Uses centralized tokenUtils for consistent extraction across providers
     */
    collectUsage(result: StreamTextResult): Promise<TokenUsage>;
    /**
     * Collect response metadata from stream result
     */
    collectMetadata(result: StreamTextResult): Promise<ResponseMetadata>;
    /**
     * Create comprehensive analytics from stream result
     */
    createAnalytics(provider: string, model: string, result: StreamTextResult, responseTime: number, metadata?: Record<string, unknown>): Promise<AnalyticsData>;
    /**
     * Clean up resources and force garbage collection if needed
     */
    cleanup(): void;
}
/**
 * Global instance of stream analytics collector
 */
export declare const streamAnalyticsCollector: BaseStreamAnalyticsCollector;
