import OpenAI from "openai"; import { Config, UsageMetadata } from "../_core/types/index.js"; import { ProviderInfo } from "./provider-detection.js"; import { StreamingWrapper } from "./streaming.js"; interface ResponsesAPIResult { id?: string; model?: string; usage?: { input_tokens?: number; output_tokens?: number; total_tokens?: number; reasoning_tokens?: number; cached_tokens?: number; output_tokens_details?: { reasoning_tokens?: number; }; input_tokens_details?: { cached_tokens?: number; }; }; finish_reason?: string; status?: string; [key: string]: unknown; } export declare function trackUsageAsync(trackingData: { requestId: string; model: string; promptTokens: number; completionTokens: number; totalTokens: number; reasoningTokens?: number; cachedTokens?: number; duration: number; finishReason: string | null; usageMetadata?: UsageMetadata; isStreamed?: boolean; timeToFirstToken?: number; providerInfo?: ProviderInfo; messages?: any[]; responseContent?: string; }): void; export declare function trackEmbeddingsUsageAsync(trackingData: { transactionId: string; model: string; promptTokens: number; totalTokens: number; duration: number; usageMetadata?: UsageMetadata; requestStartTime: number; providerInfo?: ProviderInfo; }): void; export declare function trackImageUsageAsync(operationSubtype: "generation" | "edit" | "variation", response: any, request: any, startTime: number, duration: number, config: any, providerInfo: ProviderInfo, metadata?: UsageMetadata): void; export declare function trackAudioUsageAsync(operationSubtype: "transcription" | "translation" | "speech_synthesis", response: any, request: any, startTime: number, duration: number, config: any, providerInfo: ProviderInfo, metadata?: UsageMetadata): void; export declare class CompletionsInterface { private client; private config; private providerInfo; constructor(client: OpenAI, config: Config, providerInfo: ProviderInfo); create(params: OpenAI.ChatCompletionCreateParamsNonStreaming, metadata?: UsageMetadata): Promise; createStreaming(params: OpenAI.ChatCompletionCreateParamsStreaming, metadata?: UsageMetadata): Promise; } export declare class ChatInterface { private client; private config; private providerInfo; constructor(client: OpenAI, config: Config, providerInfo: ProviderInfo); completions(): CompletionsInterface; } export declare class EmbeddingsInterface { private client; private config; private providerInfo; constructor(client: OpenAI, config: Config, providerInfo: ProviderInfo); create(params: OpenAI.EmbeddingCreateParams, metadata?: UsageMetadata): Promise; } export declare class ImagesInterface { private originalImages; private config; private providerInfo; constructor(originalImages: OpenAI.Images, config: Config, providerInfo: ProviderInfo); generate(params: OpenAI.ImageGenerateParams): Promise; edit(params: OpenAI.ImageEditParams): Promise; createVariation(params: OpenAI.ImageCreateVariationParams): Promise; } export declare class AudioTranscriptionsInterface { private originalTranscriptions; private config; private providerInfo; constructor(originalTranscriptions: OpenAI.Audio.Transcriptions, config: Config, providerInfo: ProviderInfo); create(params: OpenAI.Audio.TranscriptionCreateParams): Promise; } export declare class AudioTranslationsInterface { private originalTranslations; private config; private providerInfo; constructor(originalTranslations: OpenAI.Audio.Translations, config: Config, providerInfo: ProviderInfo); create(params: OpenAI.Audio.TranslationCreateParams): Promise; } export declare class AudioSpeechInterface { private originalSpeech; private config; private providerInfo; constructor(originalSpeech: OpenAI.Audio.Speech, config: Config, providerInfo: ProviderInfo); create(params: OpenAI.Audio.SpeechCreateParams): Promise; } export declare class ResponsesInterface { private client; private config; private providerInfo; constructor(client: OpenAI, config: Config, providerInfo: ProviderInfo); create(params: Record, metadata?: UsageMetadata): Promise; createStreaming(params: Record, metadata?: UsageMetadata): Promise>; } export {}; //# sourceMappingURL=middleware.d.ts.map