import { GeminiProvider } from '../providers/gemini/GeminiProvider.js'; import { ConfigService } from './ConfigService.js'; export declare class FileService { private static readonly REMOTE_VIDEO_INLINE_THRESHOLD; private static readonly REMOTE_VIDEO_TIMEOUT_MS; private uploadStrategy; private configService; constructor(configService: ConfigService, type: 'image' | 'video', visionProvider: GeminiProvider); handleImageSource(imageSource: string): Promise; handleVideoSource(videoSource: string): Promise; private handleLocalVideoFile; private handleRemoteVideoFile; private readVideoStreamWithLimit; private uploadRemoteVideoStream; uploadFile(buffer: Buffer, filename: string, mimeType: string): Promise; cleanup(fileId: string): Promise; readFile(filePath: string): Promise; private getImageData; private isPublicUrl; private isGcsUri; private isLocalFilePath; private isSupportedFileType; private getSupportedFileTypes; private normalizeMimeType; private getMaxFileSize; private getMimeType; private getMimeTypeFromBuffer; private getFileExtension; static isImageFile(mimeType: string): boolean; static isVideoFile(mimeType: string): boolean; static getFileExtension(mimeType: string): string; } //# sourceMappingURL=FileService.d.ts.map