import { ThinkingLevel } from "../thinking-levels.js";
export interface DeepSeekChatMessage {
    role: "system" | "user" | "assistant";
    content: string;
}
export interface DeepSeekClientOptions {
    apiKey?: string;
    apiKeyEnv?: string;
    baseUrl?: string;
    model?: string;
    thinking?: ThinkingLevel;
    reasoningEffort?: "high" | "max";
    timeoutMs?: number;
    fetchImpl?: typeof fetch;
    env?: NodeJS.ProcessEnv;
}
export interface DeepSeekCompleteOptions {
    messages: DeepSeekChatMessage[];
    temperature?: number;
    maxTokens?: number;
    thinking?: ThinkingLevel;
    reasoningEffort?: "high" | "max";
    signal?: AbortSignal;
}
interface DeepSeekChatChoice {
    finish_reason?: string;
    message?: {
        content?: string;
        reasoning_content?: string;
    };
}
export interface DeepSeekChatResponse {
    choices?: DeepSeekChatChoice[];
}
export declare class DeepSeekClient {
    private readonly apiKeyEnv;
    private readonly baseUrl;
    private readonly model;
    private readonly thinking;
    private readonly reasoningEffort?;
    private readonly timeoutMs;
    private readonly fetchImpl;
    private readonly env;
    private readonly apiKey?;
    constructor(options?: DeepSeekClientOptions);
    complete(options: DeepSeekCompleteOptions): Promise<string>;
    complete(messages: DeepSeekChatMessage[], signal?: AbortSignal): Promise<string>;
    private extractTextContent;
    private buildRequestBody;
    private errorReason;
}
export declare function extractAssistantContent(payload: DeepSeekChatResponse): string;
export {};
