import { AvailableCapabilities, EnhancementPlan } from '../core/types.js';
export declare class CapabilityDetector {
    private authVerifier;
    private capabilitiesCache?;
    private readonly CACHE_TTL;
    constructor();
    detectAvailableCapabilities(): Promise<AvailableCapabilities>;
    canExecuteEnhancement(plan: EnhancementPlan): Promise<{
        canExecute: boolean;
        availableLayers: string[];
        missingLayers: string[];
        fallbackRequired: boolean;
    }>;
    getCapabilityStatus(): Promise<{
        overall: 'full' | 'partial' | 'minimal';
        services: Record<string, 'available' | 'authenticated' | 'missing'>;
        recommendations: string[];
    }>;
    isLayerAvailable(layer: string, capabilities?: AvailableCapabilities): Promise<boolean>;
    private detectClaudeCode;
    private detectGeminiCLI;
    private detectAIStudio;
    private checkAIStudioMCPServer;
    private findExecutablePath;
    private generateRecommendations;
    private isCacheValid;
    clearCache(): void;
    hasMinimalCapabilities(): Promise<boolean>;
    hasEnhancedCapabilities(): Promise<boolean>;
    getDetailedCapabilityReport(): Promise<{
        capabilities: AvailableCapabilities;
        status: Awaited<ReturnType<CapabilityDetector['getCapabilityStatus']>>;
        timestamp: Date;
    }>;
}
//# sourceMappingURL=CapabilityDetector.d.ts.map