import type { LLMProvider, ChatRequest, ChatResponse, ProviderRuntimeMetadata, ProviderRuntimeMetadataDeps } from './interface.js';
export interface AnthropicCompatOptions {
    /** Unique provider identifier, e.g. 'my-anthropic-proxy' */
    name: string;
    /** Base URL for the Anthropic Messages API, e.g. 'https://my-proxy.example.com/v1' */
    baseURL: string;
    /** API key sent as the x-api-key header */
    apiKey: string;
    /** Model ID to use when none is specified in ChatRequest */
    defaultModel: string;
    /** List of model IDs exposed by this provider */
    models: string[];
    /** Optional extra HTTP headers sent with every request */
    defaultHeaders?: Record<string, string> | undefined;
    /** Optional env vars or secret keys that can satisfy auth for this provider. */
    authEnvVars?: readonly string[] | undefined;
    /** Optional service names that expose service-owned OAuth for this provider. */
    serviceNames?: readonly string[] | undefined;
    /** Optional provider aliases exposed to runtime metadata consumers. */
    aliases?: readonly string[] | undefined;
    /** Optional subscription-provider identity when this provider can use a stored OAuth session. */
    subscriptionProviderId?: string | undefined;
    /** Optional explicit stream protocol label for diagnostics. */
    streamProtocol?: string | undefined;
    /** Optional auth header mode. Default: x-api-key. */
    authHeaderMode?: 'x-api-key' | 'bearer' | undefined;
    /** Optional anonymous/local access posture. */
    allowAnonymous?: boolean | undefined;
    anonymousConfigured?: boolean | undefined;
    anonymousDetail?: string | undefined;
}
/**
 * AnthropicCompatProvider — generic provider for endpoints that speak the
 * Anthropic Messages API (SSE streaming variant). Useful for self-hosted
 * proxies, Claude-compatible services, and any backend that follows the
 * Anthropic Messages API spec.
 *
 * Configured via a custom provider JSON file with `"type": "anthropic-compat"`
 * in the configured providers directory.
 */
export declare class AnthropicCompatProvider implements LLMProvider {
    readonly name: string;
    readonly models: string[];
    private baseURL;
    private apiKey;
    private defaultModel;
    private defaultHeaders;
    private readonly authEnvVars;
    private readonly serviceNames;
    private readonly aliases;
    private readonly subscriptionProviderId?;
    private readonly streamProtocol?;
    private readonly authHeaderMode;
    private readonly allowAnonymous;
    private readonly anonymousConfigured;
    private readonly anonymousDetail?;
    constructor(opts: AnthropicCompatOptions);
    isConfigured(): boolean;
    chat(params: ChatRequest): Promise<ChatResponse>;
    describeRuntime(deps: ProviderRuntimeMetadataDeps): Promise<ProviderRuntimeMetadata>;
}
//# sourceMappingURL=anthropic-compat.d.ts.map