import type { ClientOptions } from 'openai/client'; import { OpenAI } from 'openai/client'; import type { ResponseCreateParamsStreaming } from 'openai/resources/responses/responses'; import { ResponseStream } from './ResponseStream'; type ExtraClientOptions = { model?: string; agent?: string; project?: string; }; type ConversationItemsPage = OpenAI.Conversations.ConversationItemsPage; type BaseSummarizePayload = { conversation: string; promptForSummarization?: string; joinItems?: (items: ConversationItemsPage) => string; metadata?: ResponseCreateParamsStreaming['metadata']; }; type SummarizeConversationPayload = (BaseSummarizePayload & { byLastItems?: number; }) | (BaseSummarizePayload & { byFirstItems?: number; }); export declare class OpenAIService extends OpenAI { model?: string; agent?: string; constructor(options: ClientOptions & ExtraClientOptions); setModel(model: string): void; createResponseStream(payload: ResponseCreateParamsStreaming): Promise; getAllConvItems(convId: string, fetchBy?: number, order?: 'asc' | 'desc'): Promise; summarizeConvTitle(summarizePayload: SummarizeConversationPayload): Promise; private joinConvItemsForSummarizingTitle; private getMetadataForResponse; private iterateByConvItems; } export {};