import type { ProviderCapability } from './capabilities.js';
import type { ChatRequest, ChatResponse, LLMProvider, ProviderEmbeddingRequest, ProviderEmbeddingResult, ProviderRuntimeMetadata, ProviderRuntimeMetadataDeps } from './interface.js';
import { type OpenAICompatOptions } from './openai-compat.js';
import { type LMStudioResponsesClient, type NativeFetch } from './lm-studio-helpers.js';
export interface LMStudioProviderOptions extends OpenAICompatOptions {
    nativeFetch?: NativeFetch;
    responsesClient?: LMStudioResponsesClient;
    fallbackProvider?: LLMProvider;
    capabilities?: Partial<ProviderCapability>;
}
export declare class LMStudioProvider implements LLMProvider {
    readonly name: string;
    readonly models: string[];
    readonly capabilities?: Partial<ProviderCapability>;
    private readonly defaultModel;
    private readonly nativeChatUrl;
    private readonly nativeFetch;
    private readonly responsesClient;
    private readonly fallbackProvider;
    private readonly nativeResponseIds;
    constructor(opts: LMStudioProviderOptions);
    chat(params: ChatRequest): Promise<ChatResponse>;
    embed(request: ProviderEmbeddingRequest): Promise<ProviderEmbeddingResult>;
    describeRuntime(deps: ProviderRuntimeMetadataDeps): Promise<ProviderRuntimeMetadata>;
    private getNativeChatContext;
    private rememberNativeResponse;
    private chatViaNativeChat;
    private chatViaResponses;
}
//# sourceMappingURL=lm-studio.d.ts.map