import { type ClientOptions } from 'openai';
import { type ChatCompletionCreateParamsNonStreaming, type ChatCompletionCreateParamsBase, type ChatCompletionMessageParam } from 'openai/resources/chat/completions';
import { Model, type InvokeParams, type InvokeOutput } from './types';
import { UITarsModelVersion } from '@ui-tars/shared/types';
type OpenAIChatCompletionCreateParams = Omit<ClientOptions, 'maxRetries'> & Pick<ChatCompletionCreateParamsBase, 'model' | 'max_tokens' | 'temperature' | 'top_p'>;
export interface UITarsModelConfig extends OpenAIChatCompletionCreateParams {
}
export interface ThinkingVisionProModelConfig extends ChatCompletionCreateParamsNonStreaming {
    thinking?: {
        type: 'enabled' | 'disabled';
    };
}
export declare class UITarsModel extends Model {
    protected readonly modelConfig: UITarsModelConfig;
    constructor(modelConfig: UITarsModelConfig);
    /** [widthFactor, heightFactor] */
    get factors(): [number, number];
    get modelName(): string;
    /**
     * call real LLM / VLM Model
     * @param params
     * @param options
     * @returns
     */
    protected invokeModelProvider(uiTarsVersion: UITarsModelVersion | undefined, params: {
        messages: Array<ChatCompletionMessageParam>;
    }, options: {
        signal?: AbortSignal;
    }): Promise<{
        prediction: string;
        costTime?: number;
        costTokens?: number;
    }>;
    invoke(params: InvokeParams): Promise<InvokeOutput>;
}
export {};
//# sourceMappingURL=Model.d.ts.map