import { TokenExtractor } from '../types';
/**
 * OpenAI Chat Completion response structure based on official API documentation
 */
export interface OpenAIChatCompletionResponse {
    id: string;
    object: 'chat.completion';
    created: number;
    model: string;
    choices: Array<{
        index: number;
        message: {
            role: 'assistant';
            content: string;
            refusal?: string | null;
        };
        logprobs?: any;
        finish_reason: 'stop' | 'length' | 'function_call' | 'content_filter' | null;
    }>;
    usage: {
        prompt_tokens: number;
        completion_tokens: number;
        total_tokens: number;
        completion_tokens_details?: {
            reasoning_tokens?: number;
        };
        prompt_tokens_details?: {
            cached_tokens?: number;
        };
    };
    system_fingerprint?: string;
}
/**
 * Token extractor for OpenAI Chat Completions API
 *
 * This extractor handles the standard OpenAI Chat Completions response format
 * as documented at https://platform.openai.com/docs/guides/text-generation
 */
export declare const openAIChatExtractor: TokenExtractor<OpenAIChatCompletionResponse>;
/**
 * Generic OpenAI extractor that works with various response formats
 * that follow the standard OpenAI usage pattern
 */
export declare const openAIGenericExtractor: TokenExtractor<any>;
/**
 * Collection of OpenAI extractors for different use cases
 */
export declare const OPENAI_EXTRACTORS: {
    readonly chat: TokenExtractor<OpenAIChatCompletionResponse>;
    readonly generic: TokenExtractor<any>;
};
//# sourceMappingURL=openai.d.ts.map