/**
 * Google Vertex AI Provider
 *
 * Implements LLMProvider interface for Google's Gemini models via Vertex AI.
 *
 * Best for: GCP-native environments, Gemini model access
 *
 * NOTE: Requires @google-cloud/vertexai
 */
import type { LLMProvider, AnalyzeOptions, AnalyzeResult, StructuredOptions } from '../types.js';
import { Logger } from '../../../utils/logger.js';
export interface VertexAIProviderConfig {
    projectId?: string;
    location?: string;
    model?: string;
    maxTokens?: number;
    temperature?: number;
    logger?: Logger;
}
export declare class VertexAIProvider implements LLMProvider {
    readonly name: "vertex-ai";
    readonly defaultModel: string;
    private projectId;
    private location;
    private maxTokens;
    private temperature;
    private logger;
    private client;
    private model;
    constructor(config: VertexAIProviderConfig);
    private getModel;
    analyze(prompt: string, options?: AnalyzeOptions): Promise<AnalyzeResult>;
    analyzeStructured<T>(prompt: string, options: StructuredOptions<T>): Promise<{
        data: T;
        usage: AnalyzeResult['usage'];
        estimatedCost: number;
    }>;
    estimateCost(inputTokens: number, outputTokens: number): number;
    isAvailable(): Promise<boolean>;
    getStatus(): Promise<{
        available: boolean;
        latencyMs?: number;
        error?: string;
    }>;
}
//# sourceMappingURL=vertex-ai-provider.d.ts.map