/**
 * Grok Provider (xAI)
 *
 * LLM provider implementation for Grok API (xAI).
 * Uses the OpenAI SDK as xAI offers an OpenAI-compatible API.
 */
import { BaseProvider } from './base-provider.js';
import type { ProviderType, ProviderConfig, CompletionOptions, LLMResponse, StreamChunk, ProviderFeature } from './types.js';
/**
 * Implementation of the xAI Grok provider.
 * Connects to the xAI API using the OpenAI client library (compatible API).
 */
export declare class GrokProvider extends BaseProvider {
    readonly type: ProviderType;
    readonly name = "Grok (xAI)";
    readonly defaultModel = "grok-3-latest";
    private client;
    /**
     * Initializes the Grok provider.
     * Dynamically imports the OpenAI SDK to avoid heavy bundle size if not used.
     */
    initialize(config: ProviderConfig): Promise<void>;
    /**
     * Sends a completion request to the xAI API.
     * Maps internal types to OpenAI SDK types and normalizes the response.
     */
    complete(options: CompletionOptions): Promise<LLMResponse>;
    /**
     * Streams the response from the xAI API.
     * Handles delta updates for content and tool calls.
     * Wrapped with latency tracking for first-token and total streaming time.
     */
    stream(options: CompletionOptions): AsyncIterable<StreamChunk>;
    /**
     * Internal streaming implementation.
     */
    private streamInternal;
    getModels(): Promise<string[]>;
    getPricing(): {
        input: number;
        output: number;
    };
    supports(feature: ProviderFeature): boolean;
    /**
     * Formats internal messages to OpenAI format.
     */
    private formatMessages;
    /**
     * Formats internal tool definitions to OpenAI format.
     */
    private formatTools;
}
