/** * Google Cloud Storage Provider * * Alternative production storage using GCP Cloud Storage. * Uses service account credentials for authentication. * * Security: * - Uses service account key file * - Bucket should not be publicly accessible * - Signed URLs provide temporary access */ import type { StorageProvider, StorageObject, UploadResult, HealthCheckResult } from "./provider.js"; export interface GCPStorageConfig { /** GCP project ID */ projectId: string; /** GCS bucket name */ bucket: string; /** Path to service account key file (optional if using default credentials) */ keyFile?: string; } export declare class GCPStorageProvider implements StorageProvider { readonly name = "gcp"; private storage; private bucket; private bucketName; constructor(config: GCPStorageConfig); upload(localPath: string, remotePath: string): Promise; download(remotePath: string, localPath: string): Promise; list(prefix: string): Promise; getSignedUrl(remotePath: string, expiresInSeconds?: number): Promise; healthCheck(): Promise; delete(remotePath: string): Promise; exists(remotePath: string): Promise; /** * Guess content type from file extension */ private guessContentType; }