import type { RemoveFirstParameter, Awaitify } from '../types/functions.js'; export interface IStorage { getValue(key: string): Promise; setValue(key: string, value: T): Promise; hasValue(key: string): Promise; removeValue(key: string): Promise; } export type IKeyedStorage = { [P in keyof IStorage]: RemoveFirstParameter[P]>; }; export type IStorageSync = Awaitify>; export type IKeyedStorageSync = Awaitify>;