import { type HttpOptions } from "./conversations"; import { ResponsesService, type ResponsesTool, type ResponsesToolChoice } from "./responses"; type Dynamic = T | (() => T); export type ChatConfig = { model: string; store: boolean; user?: string; instructions?: string; tools?: ResponsesTool[]; toolChoice?: ResponsesToolChoice; metadata?: Record; apiKey?: string; }; export type ChatConfigProp = Dynamic; export type RequestConfig = HttpOptions; export type RequestConfigProp = Dynamic; export declare function resolveChatConfig(chatConfigProp: ChatConfigProp): ChatConfig; export declare function resolveRequestConfig(requestConfigProp?: RequestConfigProp): RequestConfig; export type ResponsesServiceFactoryConfig = { serverUrl: string; chatConfig: ChatConfig; requestConfig?: RequestConfig; }; export declare function createResponsesService({ serverUrl, chatConfig, requestConfig, }: ResponsesServiceFactoryConfig): ResponsesService; export type { Role, AssistantMessageMetadata, MessageData, ConversationData, ConversationFetchOptions, AddMessageRequestBody, HttpOptions, ChatService, } from "./conversations"; export type { ResponsesTool, ResponsesToolChoice, } from "./responses";