import type { BootstrapConfig, ConfigStore, SystemConfig } from '@citrineos/base'; import type { ILogObj } from 'tslog'; import { Logger } from 'tslog'; export declare class GcpCloudStorage implements ConfigStore { protected readonly _logger: Logger; private storageClient; private configBucketName; private configFileName; constructor(config: BootstrapConfig['fileAccess']['gcp'], configFileName: string, configDir?: string, logger?: Logger); /** * Save a raw file buffer into GCS. * * @param fileName - Object key / blob name. * @param content - File data. * @param filePath - Optional bucket name, falls back to configBucketName. */ saveFile(fileName: string, content: Buffer, filePath?: string): Promise; /** * Read a file from GCS and return its contents as UTF-8 string. * * @param id - Object key / blob name. * @param filePath - Optional bucket name, falls back to configBucketName. */ getFile(id: string, filePath?: string): Promise; /** * Load JSON config from GCS and parse as SystemConfig. */ fetchConfig(): Promise; /** * Serialize and save SystemConfig JSON to GCS. */ saveConfig(config: SystemConfig): Promise; private getBucket; private createBucket; /** * Normalize "not found" checks across GCS error shapes. */ private isNotFoundError; }