import { google } from 'googleapis';
import { User } from '../../entities/user.entity';
import { GoogleAuthService } from '../auth/google-auth.service';
export declare class GoogleDriveService {
    private googleAuth;
    constructor(googleAuth: GoogleAuthService);
    private getDriveClient;
    ensureFolderPath(drive: Awaited<ReturnType<typeof google.drive>>, pathParts: string[], parentId?: string): Promise<string>;
    private platformFolderName;
    uploadBuild(user: User, appName: string, platform: string, bundleOrPackage: string, version: string, buildNumber: string, filePath: string, mimeType: string, fileName: string): Promise<string>;
    uploadIcon(user: User, appName: string, platform: string, iconBuffer: Buffer): Promise<string>;
    uploadPlist(user: User, appName: string, platform: string, bundleOrPackage: string, version: string, buildNumber: string, plistContent: string): Promise<string>;
    getFileDownloadUrl(user: User, fileId: string): Promise<string>;
    getPublicFileUrl(fileId: string): string;
    getThumbnailUrl(fileId: string, size?: number): string;
    isFileAvailable(fileId: string, user?: User): Promise<boolean>;
    streamFile(user: User, fileId: string): Promise<{
        stream: import('stream').Readable;
        mimeType: string;
        name: string;
        size?: number;
    }>;
    streamFilePublic(fileId: string): Promise<{
        stream: import('stream').Readable;
        size?: number;
    }>;
    getIconBuffer(user: User, fileId: string): Promise<Buffer>;
    deleteFile(fileId: string, user: User): Promise<void>;
    deleteAppPlatformFolder(user: User, appName: string, platform: string): Promise<void>;
}
