import { OpenAIProvider, type AgentInputItem, type AgentOutputItem, type RunState, type StreamedRunResult, type Agent, type AgentOutputType } from '@openai/agents';
import type { UseChatAgentOptions } from '../../';
import { type OpenAIStreamResponseHandlers } from './streamResponse';
export type OpenAIRunContext = Record<string, unknown>;
export interface RunOpenAIChatOptions {
    agent: Agent<unknown, AgentOutputType>;
    thread: Array<AgentInputItem | AgentOutputItem>;
    context?: OpenAIRunContext;
    signal: AbortSignal;
    handlers: OpenAIStreamResponseHandlers;
    chatOptions: UseChatAgentOptions;
}
export interface ResumeOpenAIChatOptions {
    agent: Agent<unknown, AgentOutputType>;
    state: RunState<unknown, Agent<unknown, AgentOutputType>>;
    context?: OpenAIRunContext;
    signal: AbortSignal;
    handlers: OpenAIStreamResponseHandlers;
    chatOptions: UseChatAgentOptions;
}
export interface RunOpenAIChatResult {
    response: StreamedRunResult<unknown, Agent<unknown, AgentOutputType>>;
}
declare const resolveOpenAIModelProvider: (options: UseChatAgentOptions) => OpenAIProvider;
export declare const runOpenAIChat: ({ agent, thread, context, signal, handlers, chatOptions }: RunOpenAIChatOptions) => Promise<RunOpenAIChatResult>;
export declare const resumeOpenAIChat: ({ agent, state, context, signal, handlers, chatOptions }: ResumeOpenAIChatOptions) => Promise<RunOpenAIChatResult>;
export { resolveOpenAIModelProvider };
//# sourceMappingURL=runner.d.ts.map