/** * @fileoverview BrightDbEnvironment — generic BrightDB-specific environment configuration. * * Extends the upstream BaseEnvironment with BrightDB block store configuration: * block store path, block sizes, store type, cloud configs (Azure, S3), * dev database pool name, and memory document store flag. * * Domain-specific env vars (UPnP, FontAwesome, AWS credentials, etc.) * remain in api-lib's Environment subclass. * * @module environment */ import { BlockSize, BlockStoreType } from '@brightchain/brightchain-lib'; import { PlatformID } from '@digitaldefiance/node-ecies-lib'; import { Environment as BaseEnvironment, IConstants } from '@digitaldefiance/node-express-suite'; import { IAzureEnvironmentConfig, IS3EnvironmentConfig } from './interfaces/environment'; import { DefaultBackendIdType } from './shared-types'; export declare class BrightDbEnvironment extends BaseEnvironment { protected _blockStorePath?: string; protected _blockStoreBlockSizes: BlockSize[]; protected _useMemoryDocumentStore: boolean; protected _devDatabasePoolName: string | undefined; protected _blockStoreType: BlockStoreType; protected _azureConfig?: IAzureEnvironmentConfig; protected _s3Config?: IS3EnvironmentConfig; protected _memberPoolName: string; protected _emailDomain: string; constructor(path?: string, initialization?: boolean, override?: boolean, constants?: IConstants); get blockStorePath(): string | undefined; /** * Configured block sizes for block-backed document store (plural). * Parsed from the comma-separated `BRIGHTCHAIN_BLOCKSIZE_BYTES` env var. */ get blockStoreBlockSizes(): readonly BlockSize[]; /** * @deprecated Use `blockStoreBlockSizes` instead. Returns the first configured block size. */ get blockStoreBlockSize(): BlockSize; get useMemoryDocumentStore(): boolean; /** * Pool name for the in-memory dev database. * Set when `DEV_DATABASE` env var is a non-empty string; `undefined` otherwise. */ get devDatabasePoolName(): string | undefined; /** * The active block store backend type. * Defaults to `BlockStoreType.Disk` when `BRIGHTCHAIN_BLOCKSTORE_TYPE` is unset. */ get blockStoreType(): BlockStoreType; /** * Azure Blob Storage configuration. * Only populated when `blockStoreType` is `BlockStoreType.AzureBlob`. */ get azureConfig(): IAzureEnvironmentConfig | undefined; /** * Amazon S3 configuration. * Only populated when `blockStoreType` is `BlockStoreType.S3`. */ get s3Config(): IS3EnvironmentConfig | undefined; /** * Member pool name (e.g. 'BrightChain') */ get memberPoolName(): string; /** * The canonical email domain for this BrightChain instance. * Parsed from `EMAIL_DOMAIN` env var, falling back to the domain portion * of `EMAIL_SENDER`, or `'example.com'` if neither is set. */ get emailDomain(): string; /** * Update the email domain at runtime (hot-reload support). * @param newDomain - The new canonical email domain * @see Requirement 8.5 — dynamic configuration reload */ set emailDomain(newDomain: string); } //# sourceMappingURL=environment.d.ts.map