import { AudioGenOptions, ImageAnalysisResult, ImageAnalysisType, ImageGenOptions, LayerInterface, LayerResult, MediaGenResult, MultimodalFile, MultimodalResult } from '../core/types.js'; import { AntigravityCLILayer } from './AntigravityCLILayer.js'; export declare function shutdownAIStudio(timeoutMs?: number): Promise; export declare class AIStudioLayer implements LayerInterface { private readonly instanceId; private authVerifier; private genAI; private antigravityLayer; private mcpServerProcess?; private persistentMCPProcess?; private mcpProcessStartTime; private pendingOptimized; private optimizedRequestSeq; private recentMCPStderr; private readonly MCP_PROCESS_TTL; private isInitialized; private isLightweightInitialized; private lastAuthCheck; private readonly AUTH_CACHE_TTL; private readonly DEFAULT_TIMEOUT; private readonly MAX_RETRIES; private readonly MAX_FILES; private readonly MAX_FILE_SIZE; private readonly MAX_DOCUMENT_PAGES; private readonly TOKENS_PER_PAGE; private readonly SUPPORTED_FILE_TYPES; constructor(antigravityLayer?: AntigravityCLILayer); initializeLightweight(): Promise; initialize(): Promise; isAvailable(): Promise; canHandle(task: any): boolean; execute(task: any): Promise; processMultimodal(files: MultimodalFile[], instructions: string): Promise; analyzeImage(imagePath: string, analysisType: ImageAnalysisType): Promise; generateImage(prompt: string, options?: Partial): Promise; generateAudio(text: string, options?: Partial): Promise; private downloadGeneratedMedia; private getFileExtension; private calculateGenerationCost; getCapabilities(): string[]; getCost(task: any): number; private estimateCost; getEstimatedDuration(task: any): number; private analyzeDocuments; private canUseDirectAPI; private executeDirectAPI; private calculateOptimizedTimeout; private processGeneral; static wslWindowsNpmPaths(serverFileName: string, options?: { isWsl?: boolean; usersDir?: string; listUsers?: (dir: string) => string[]; }): string[]; static globalInstallPaths(serverFileName: string, platform?: NodeJS.Platform, env?: NodeJS.ProcessEnv, nodeVersion?: string): string[]; private resolveMCPServerPath; private nextOptimizedRequestId; private attachResponseRouter; shutdown(timeoutMs?: number): Promise; private getPersistentMCPProcess; private executeMCPCommandOptimized; private executeMCPCommand; private getAIStudioApiKey; private validateApiKeyFormat; private setupGhostLogDetection; private testMCPServerConnection; private validateFileTypes; private normalizeInputPath; private prepareFilesForProcessing; private getTaskTimeout; private estimateTokensUsed; private calculateCost; isFileTypeSupported(filePath: string): boolean; getSupportedFileTypes(): typeof this.SUPPORTED_FILE_TYPES; getProcessingLimits(): { maxFiles: number; maxFileSize: number; maxFileSizeMB: number; }; private createManualWavHeader; private isImageGenerationRequest; private isVideoGenerationRequest; private isAudioGenerationRequest; private isImageGenerationCommand; private isVideoGenerationCommand; private getAspectRatio; private saveGeneratedImage; private saveGeneratedAudio; processDocuments(documents: string[], analysisType?: string, options?: any): Promise; private validateDocuments; private buildDocumentInstructions; private estimateDocumentTokens; private selectOptimalModel; private getModelConfig; private processMultiplePDFs; } //# sourceMappingURL=AIStudioLayer.d.ts.map