import type { Awaitable } from '../../common'; export interface Adapter { isAsync: boolean; start(): Awaitable; scan(query: string, keys?: false): Awaitable; scan(query: string, keys: true): Awaitable; scan(query: string, keys?: boolean): Awaitable<(any | string)[]>; bulkGet(keys: string[]): Awaitable; get(keys: string): Awaitable; bulkSet(keyValue: [string, any][]): Awaitable; set(id: string, data: any): Awaitable; bulkPatch(keyValue: [string, any][]): Awaitable; patch(id: string, data: any): Awaitable; values(to: string): Awaitable; keys(to: string): Awaitable; count(to: string): Awaitable; bulkRemove(keys: string[]): Awaitable; remove(keys: string): Awaitable; flush(): Awaitable; contains(to: string, keys: string): Awaitable; getToRelationship(to: string): Awaitable; bulkAddToRelationShip(data: Record): Awaitable; addToRelationship(to: string, keys: string | string[]): Awaitable; removeToRelationship(to: string, keys: string | string[]): Awaitable; removeRelationship(to: string | string[]): Awaitable; }