import { EnergyAccount } from '../energyAccount'; import { IAssetAccount } from '../interfaces/assetAccount'; import { IEnergyAccountDto } from '../interfaces/energyAccount'; import { ITypedCollection } from '../interfaces/storage/documentStore'; import { Checksum } from '../types/checksum'; import { AssetAccountStore } from './assetAccountStore'; /** * Energy-specific account store. * * Extends {@link AssetAccountStore} with `defaultAssetId = 'joule'` and * optional typed-collection persistence for startup hydration. * * When constructed without an {@link ITypedCollection} the store is purely * in-memory (backward-compatible with existing callers). When a typed * collection is provided (e.g. a Model from brightchain-db), every write is * mirrored to the backing store and `loadFromStore()` can hydrate the * in-memory map on startup. */ export declare class EnergyAccountStore extends AssetAccountStore { private readonly typedCollection; constructor(typedCollection?: ITypedCollection); /** * Store the account in memory and persist to the backing collection. * * Overrides the synchronous parent method with an async variant so that * callers can `await` the full write-through. */ set(memberId: Checksum, account: IAssetAccount): Promise; /** * Get or create account with trial credits. */ getOrCreate(memberId: Checksum): Promise; /** * Hydrate the in-memory map from the backing typed collection. * No-op when no collection is configured. */ loadFromStore(): Promise; /** * Get all joule accounts. */ getAll(): EnergyAccount[]; } //# sourceMappingURL=energyAccountStore.d.ts.map