import type { ClusterLocalBackend } from '@generacy-ai/credhelper'; import type { StoreStatus, StoreInitResult } from '../types/init-result.js'; import type { AppConfig } from '../schemas.js'; export interface AppConfigFileMetadata { updatedAt: string; size: number; } export interface AppConfigEnvMetadata { secret: boolean; updatedAt: string; } export interface AppConfigValuesMetadata { env: Record; files: Record; } /** * Store for app-config file blobs and values metadata. * Encrypts blobs in ClusterLocalBackend, writes decoded content to mountPath, * and tracks metadata in a YAML file. */ export declare class AppConfigFileStore { private readonly backend; private valuesPath; private status; private disabledReason?; constructor(backend: ClusterLocalBackend, valuesPath?: string); init(): Promise; getStatus(): StoreStatus; getInitResult(): StoreInitResult; /** Store a file blob: encrypt in backend, write to mountPath, update metadata. */ setFile(id: string, mountPath: string, data: Buffer): Promise; private atomicWriteFile; /** * Boot-time full render: walk metadata for file entries, decrypt each blob, * resolve mountPath from manifest, write atomically. Best-effort: skip entries that fail. */ renderAll(readManifest: () => Promise): Promise<{ rendered: string[]; failed: string[]; }>; /** Set an env var's metadata (secret flag and timestamp). */ setEnvMetadata(name: string, secret: boolean): Promise; /** Remove env metadata entry. Returns the removed entry or undefined. */ deleteEnvMetadata(name: string): Promise; /** Read all values metadata. */ getMetadata(): Promise; private updateFileMetadata; private readMetadata; private writeMetadata; } //# sourceMappingURL=app-config-file-store.d.ts.map