import type { StorageItem, StorageTarget } from '../definitions/interfaces.js'; import type { KeyOf } from '../definitions/types.js'; type Clear = () => ClearReturn; type ClearReturn = void | Error | Promise; type CopyReturn = void | Error | Promise; type Get = (key: string) => GetReturn; type GetReturn = T | Error | Promise; type Has = (key: string) => HasReturn; type HasReturn = boolean | Error | Promise; type Remove = (key: string) => RemoveReturn; type RemoveReturn = void | Error | Promise; type Set = (key: string, item: T) => SetReturn; type SetReturn = void | Error | Promise; export declare class Storage { /** * The storage instance name. */ protected readonly name: string; protected readonly _clear: Clear; protected readonly _get: Get; protected readonly _has: Has; protected readonly _remove: Remove; protected readonly _set: Set; constructor(name: string, clear: Clear, get: Get, has: Has, remove: Remove, set: Set); protected clear_(cleared: void | Error): void | Error; clear(): ClearReturn; protected get_(key: string, item: T | Error): T | Error; get(key: string): GetReturn; protected remove_(key: string, removed: void | Error): void | Error; protected remove__(key: string, keys: KeyOf.Deep[], item: T | Error): T | undefined; protected remove___(key: string, item: T, set: void | Error): void | Error; remove(key: string, keys?: KeyOf.Deep[]): RemoveReturn; protected set_(key: string, item: T | Error, set: void | Error): void | Error; protected set__(item: T, keys: KeyOf.Deep[], current: T | Error): T | Error; set(key: string, item: T, keys?: KeyOf.Deep[]): SetReturn; protected copy_(key: string, target: T2, keys: KeyOf.Deep[] | undefined, item: T1 | Error): void | Error; copy(key: string, target: T2, keys?: KeyOf.Deep[]): CopyReturn; protected has_(keys: KeyOf.Deep[] | undefined, item: T | Error): boolean; has(key: string, keys?: KeyOf.Deep[]): HasReturn; /** * Returns the name of the instance. */ getName(): string; } export {};