import OpenAI from "openai"; import { UsageMetadata } from "../_core/types/index.js"; import type { PerplexityCost } from "./types.js"; export declare function trackUsageAsync(trackingData: { requestId: string; model: string; promptTokens: number; completionTokens: number; totalTokens: number; duration: number; finishReason: string | null; usageMetadata?: UsageMetadata; isStreamed?: boolean; timeToFirstToken?: number; cost?: PerplexityCost; responseFormat?: { type: string; json_schema?: { name: string; }; } | string; messages?: any; responseContent?: string; }): void; export declare class StreamingWrapper implements AsyncIterable { private stream; private model; private startTime; private transactionId; private metadata?; private responseFormat?; private messages; private accumulatedContent; constructor(stream: AsyncIterable, model: string, startTime: number, transactionId: string, metadata?: UsageMetadata, responseFormat?: { type: string; json_schema?: { name: string; }; } | string, messages?: any); [Symbol.asyncIterator](): AsyncGenerator; } export declare class CompletionsInterface { private client; constructor(client: OpenAI); create(params: OpenAI.Chat.ChatCompletionCreateParams, metadata?: UsageMetadata): Promise; createStreaming(params: OpenAI.Chat.ChatCompletionCreateParams, metadata?: UsageMetadata): Promise; } export declare class ChatInterface { private client; constructor(client: OpenAI); completions(): CompletionsInterface; } //# sourceMappingURL=middleware.d.ts.map