import type { ConfigSchemaDescriptor } from "../contracts/config.js"; import type { ServiceConfigState, ServiceConfigTicketClaims } from "../contracts/serviceConfig.js"; export interface ServiceConfigStore { read(ticket: ServiceConfigTicketClaims): ServiceConfigState; write(tenantId: string, appId: string | undefined, values: Record, ticket: ServiceConfigTicketClaims): ServiceConfigState; clearKey?(tenantId: string, appId: string | undefined, key: string, ticket: ServiceConfigTicketClaims): ServiceConfigState; } export declare class InMemoryServiceConfigStore implements ServiceConfigStore { private state; read(ticket: ServiceConfigTicketClaims): ServiceConfigState; write(tenantId: string, appId: string | undefined, values: Record, ticket: ServiceConfigTicketClaims): ServiceConfigState; clearKey(tenantId: string, appId: string | undefined, key: string, ticket: ServiceConfigTicketClaims): ServiceConfigState; } export interface FileBackedServiceConfigStoreOptions { filePath: string; configSchemas: ConfigSchemaDescriptor[]; encryptionKey: string; } export declare class FileBackedServiceConfigStore implements ServiceConfigStore { private state; private readonly encryptionKey; private readonly secretKeys; private readonly filePath; constructor(options: FileBackedServiceConfigStoreOptions); read(ticket: ServiceConfigTicketClaims): ServiceConfigState; write(tenantId: string, appId: string | undefined, values: Record, ticket: ServiceConfigTicketClaims): ServiceConfigState; clearKey(tenantId: string, appId: string | undefined, key: string, ticket: ServiceConfigTicketClaims): ServiceConfigState; private readBucket; private ensureTenantBucket; private decryptRecord; private loadFromDisk; private saveToDisk; } //# sourceMappingURL=configStore.d.ts.map