import { ProviderV3, LanguageModelV3 } from '@ai-sdk/provider';
import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
import { FetchFunction, InferSchema } from '@ai-sdk/provider-utils';

declare const VERSION: string;

interface OpenResponsesProvider extends ProviderV3 {
    (modelId: string): LanguageModelV3;
}
interface OpenResponsesProviderSettings {
    /**
     * URL for the Open Responses API POST endpoint.
     */
    url: string;
    /**
     * Provider name. Used as key for provider options and metadata.
     */
    name: string;
    /**
     * API key for authenticating requests.
     */
    apiKey?: string;
    /**
     * Custom headers to include in the requests.
     */
    headers?: Record<string, string>;
    /**
     * Custom fetch implementation. You can use it as a middleware to intercept requests,
     * or to provide a custom fetch implementation for e.g. testing.
     */
    fetch?: FetchFunction;
}
declare function createOpenResponses(options: OpenResponsesProviderSettings): OpenResponsesProvider;

declare const openResponsesOptionsSchema: _ai_sdk_provider_utils.LazySchema<{
    reasoningEffort?: "low" | "high" | "none" | "medium" | "xhigh" | null | undefined;
    reasoningSummary?: "auto" | "concise" | "detailed" | null | undefined;
}>;
type OpenResponsesOptions = InferSchema<typeof openResponsesOptionsSchema>;

export { type OpenResponsesOptions, VERSION, createOpenResponses };
