import { InMemoryStorageLedger } from './storage-ledger'; import { type CollectExpiredResult } from '../retention'; import type { QuotaCollectExpiredInput } from '../quota'; import type { ObjectStore } from '../blob'; import type { StorageFinalizeInput, StorageFinalizeResult, StorageReservation, StorageReservationInput, StorageStatus, QuotaStore, TenantStorageEntitlement, TenantStorageEntitlementInput, TenantStorageUsage } from '../quota'; import type { Clock } from '../stores'; import { type TenantId } from '../tenant'; export declare class InMemoryQuotaStore implements QuotaStore { #private; private readonly ledger; constructor(clock: Clock, objects: ObjectStore, ledger: InMemoryStorageLedger); readEntitlement(tenant: TenantId): Promise; writeEntitlement(tenant: TenantId, input: TenantStorageEntitlementInput): Promise; readUsage(tenant: TenantId): Promise; readStatus(tenant: TenantId): Promise; readReservation(tenant: TenantId, reservationId: string): Promise; reserve(tenant: TenantId, input: StorageReservationInput): Promise; finalizeReservation(tenant: TenantId, input: StorageFinalizeInput): Promise; abortReservation(tenant: TenantId, reservationId: string): Promise; collectExpired(tenant: TenantId, input: QuotaCollectExpiredInput): Promise; }