import { type CollectExpiredResult } from '../retention'; import type { MailboxAdvanceCursorInput, MailboxAppendInput, MailboxCursorState, MailboxMessage, MailboxPage, MailboxReadQuery, MailboxRecordDeliveryInput, MailboxCollectExpiredInput, MailboxStore, MailboxUsage } from '../mailbox'; import type { QuotaStore } from '../quota'; import type { Clock } from '../stores'; import { type TenantId } from '../tenant'; export declare class InMemoryMailboxStore implements MailboxStore { #private; /** The mailbox reads its limit from quota; quota never reads the mailbox. */ constructor(clock: Clock, quota: Pick); append(tenant: TenantId, input: MailboxAppendInput): Promise; readUsage(tenant: TenantId): Promise; readAfter(tenant: TenantId, query: MailboxReadQuery): Promise; advanceCursor(tenant: TenantId, input: MailboxAdvanceCursorInput): Promise; recordDelivery(tenant: TenantId, input: MailboxRecordDeliveryInput): Promise; readCursor(tenant: TenantId, deviceId: string): Promise; collectExpired(tenant: TenantId, input: MailboxCollectExpiredInput): Promise; }