import type { Store } from './store.js'; import { AsyncTransaction, SyncTransaction } from './store.js'; /** * An interface for simple synchronous stores that don't have special support for transactions and such, based on `Map` * @category Stores and Transactions */ export interface SyncMapStore extends Store { keys(): Iterable; get(id: number): Uint8Array | undefined; getAsync?(id: number): Promise; set(id: number, data: Uint8Array): void; delete(id: number): void; } /** * Transaction for map stores. * @category Stores and Transactions * @see SyncMapStore */ export declare class SyncMapTransaction extends SyncTransaction { readonly store: SyncMapStore; keys(): Promise>; get(id: number): Promise; getSync(id: number): Uint8Array | undefined; setSync(id: number, data: Uint8Array): void; removeSync(id: number): void; } /** * An interface for simple asynchronous stores that don't have special support for transactions and such, based on `Map`. * @category Stores and Transactions */ export interface AsyncMap { keys(): Iterable; get(id: number, offset?: number, end?: number): Promise; cached(id: number, offset?: number, end?: number): Uint8Array | undefined; set(id: number, data: Uint8Array, offset?: number): Promise; delete(id: number): Promise; } /** * @category Stores and Transactions */ export declare class AsyncMapTransaction extends AsyncTransaction { keys(): Promise>; get(id: number, offset?: number, end?: number): Promise; getSync(id: number, offset?: number, end?: number): Uint8Array | undefined; set(id: number, data: Uint8Array, offset?: number): Promise; remove(id: number): Promise; }