import type { SSEOutput } from '../x-stream';
import AbstractChatProvider, { type ChatProviderConfig, type TransformMessageInfo } from './AbstractChatProvider';
import type { XModelMessage, XModelParams } from './types';
/**
 * OpenAI-compatible chat provider (aligned with @ant-design/x-sdk OpenAIChatProvider).
 * Extends AbstractChatProvider; use with useXChat via `provider` or `asTransformMessage()`.
 */
export declare class OpenAIChatProvider<ChatMessage extends XModelMessage = XModelMessage, Input extends XModelParams = XModelParams, Output extends SSEOutput = SSEOutput> extends AbstractChatProvider<ChatMessage, Input, Output> {
    constructor(config?: ChatProviderConfig<Input, Output, ChatMessage>);
    /**
     * Vue useXChat usually passes `{ message }`; SDK-style callers may pass `{ messages }`.
     */
    transformLocalMessage(requestParams: Partial<Input>): ChatMessage | ChatMessage[];
    /**
     * Prefer history already held by useXChat (includes the just-appended user message).
     * Falls back to merging history + local message when called standalone.
     */
    transformParams(requestParams: Partial<Input>, history?: ChatMessage[]): Input;
    transformMessage(info: TransformMessageInfo<ChatMessage, Output>): ChatMessage;
}
export default OpenAIChatProvider;
