import type { LLMProvider, ChatRequest, ChatResponse, ProviderEmbeddingRequest, ProviderEmbeddingResult, ProviderRuntimeMetadata, ProviderRuntimeMetadataDeps } from './interface.js';
import type { ProviderCapability } from './capabilities.js';
import type { CacheHitTracker } from '@pellux/goodvibes-sdk/platform/providers/cache-strategy';
export interface OpenAICompatOptions {
    name: string;
    baseURL: string;
    apiKey: string;
    defaultModel: string;
    models: string[];
    embeddingModel?: string;
    capabilities?: Partial<ProviderCapability>;
    /** Optional extra HTTP headers sent with every request to this provider. */
    defaultHeaders?: Record<string, string>;
    /** How to send reasoning params. Default: 'none' (don't send). */
    reasoningFormat?: 'mercury' | 'openrouter' | 'llamacpp' | 'none';
    /** Optional env vars or secret keys that can satisfy API-key auth for this provider. */
    authEnvVars?: readonly string[];
    /** Optional service names that expose service-owned OAuth for this provider. */
    serviceNames?: readonly string[];
    /** Optional subscription-provider identity when this provider can use a stored OAuth session. */
    subscriptionProviderId?: string;
    /** Optional provider-owned model suppression list for runtime clients. */
    suppressedModels?: readonly string[];
    /** Optional provider aliases exposed to runtime metadata consumers. */
    aliases?: readonly string[];
    /** Optional explicit stream protocol label for diagnostics. */
    streamProtocol?: string;
    /** Optional anonymous/local access posture. */
    allowAnonymous?: boolean;
    anonymousConfigured?: boolean;
    anonymousDetail?: string;
    /** Override runtime auth posture when apiKey is an internal transport placeholder. */
    authConfigured?: boolean;
    /** Shared cache-hit tracker owned by the runtime service graph. */
    cacheHitTracker?: Pick<CacheHitTracker, 'recordTurn'>;
}
/**
 * OpenAICompatProvider — generic OpenAI-compatible provider.
 * Configured for InceptionLabs Mercury-2 with reasoning_effort and
 * reasoning_summary extensions, but usable with any OAI-compatible API.
 */
export declare class OpenAICompatProvider implements LLMProvider {
    readonly name: string;
    readonly models: string[];
    readonly capabilities?: Partial<ProviderCapability>;
    private client;
    private defaultModel;
    private embeddingModel;
    private readonly configured;
    private reasoningFormat;
    private cacheCapability;
    private readonly authEnvVars;
    private readonly serviceNames;
    private readonly subscriptionProviderId?;
    private readonly suppressedModels;
    private readonly aliases;
    private readonly streamProtocol?;
    private readonly allowAnonymous;
    private readonly anonymousConfigured;
    private readonly anonymousDetail?;
    private readonly cacheHitTracker;
    private readonly baseURL;
    private readonly endpointHost;
    constructor(opts: OpenAICompatOptions);
    chat(params: ChatRequest): Promise<ChatResponse>;
    embed(request: ProviderEmbeddingRequest): Promise<ProviderEmbeddingResult>;
    describeRuntime(deps: ProviderRuntimeMetadataDeps): Promise<ProviderRuntimeMetadata>;
}
//# sourceMappingURL=openai-compat.d.ts.map