/** * @polymech/acl — In-memory backend * * Transaction = array of deferred mutations, executed on `end()`. * All reads are synchronous (wrapped as async for the interface). */ import type { IBackend, Value, Values } from '../interfaces.js'; type Transaction = (() => void)[]; type BucketStore = Record>; export declare class MemoryBackend implements IBackend { #private; /** Expose raw data (used by FileBackend for serialisation). */ get buckets(): BucketStore; set buckets(data: BucketStore); begin(): Transaction; end(transaction: Transaction): Promise; clean(): Promise; get(bucket: string, key: Value): Promise; union(bucket: string, keys: Value[]): Promise; unions(buckets: string[], keys: Value[]): Promise>; add(transaction: Transaction, bucket: string, key: Value, values: Values): void; del(transaction: Transaction, bucket: string, keys: Values): void; remove(transaction: Transaction, bucket: string, key: Value, values: Values): void; } export {};