import type { StorageDriver, StorageEventName, StorageEventListener, ScopedKey } from './types.ts'; export declare class StorageAdapter { readonly driver: StorageDriver; readonly prefix?: string; readonly structured: boolean; remove: StorageAdapter['rm']; reset: StorageAdapter['clear']; constructor(config: StorageAdapter.Config); get(): Promise; get(key: K): Promise; get(keys: K[]): Promise>; set(values: Partial & Record): Promise; set(key: K, value: Values[K]): Promise; assign(key: K, val: Partial): Promise; rm(keyOrKeys: K | K[]): Promise; has(key: K): Promise; has(keys: K[]): Promise; clear(): Promise; keys(): Promise<(keyof Values)[]>; entries(): Promise<[keyof Values, Values[keyof Values]][]>; values(): Promise; scope(key: K): ScopedKey; on(event: StorageEventName, listener: StorageEventListener): import("@logosdx/observer").EventGenerator, any>; off(event: StorageEventName, listener: StorageEventListener): void; } export declare namespace StorageAdapter { interface Config { driver: StorageDriver; prefix?: string; structured?: boolean; } }