/** * List storage: redis_list_meta + redis_list_items (SPEC_B). * Monotonic sequence per key; empty list = no meta row. */ import type Database from './driver.ts'; import type { KeysStorage } from './keys.ts'; export declare function createListsStorage(db: Database, keys: KeysStorage): { lpush(key: Buffer, values: Buffer[], options?: { updatedAt?: number; }): number; rpush(key: Buffer, values: Buffer[], options?: { updatedAt?: number; }): number; llen(key: Buffer): number; lrange(key: Buffer, start: number, stop: number): Buffer[]; lindex(key: Buffer, index: number): Buffer | null; lpop(key: Buffer, count?: number | null): Buffer | Buffer[] | null; rpop(key: Buffer, count?: number | null): Buffer | Buffer[] | null; lrem(key: Buffer, count: number, element: Buffer | string): number; lset(key: Buffer, index: number, value: Buffer): void; ltrim(key: Buffer, start: number, stop: number): void; /** Copy list from oldKey to newKey. Caller ensures newKey exists in redis_keys. */ copyKey(oldKey: Buffer, newKey: Buffer): void; }; export type ListsStorage = ReturnType;