using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace Blazored.SessionStorage; internal interface IStorageProvider { void Clear(); ValueTask ClearAsync(CancellationToken cancellationToken = default); bool ContainKey(string key); ValueTask ContainKeyAsync(string key, CancellationToken cancellationToken = default); string GetItem(string key); ValueTask GetItemAsync(string key, CancellationToken cancellationToken = default); string Key(int index); ValueTask KeyAsync(int index, CancellationToken cancellationToken = default); IEnumerable Keys(); ValueTask> KeysAsync(CancellationToken cancellationToken = default); int Length(); ValueTask LengthAsync(CancellationToken cancellationToken = default); void RemoveItem(string key); ValueTask RemoveItemAsync(string key, CancellationToken cancellationToken = default); ValueTask RemoveItemsAsync(IEnumerable keys, CancellationToken cancellationToken = default); void SetItem(string key, string data); ValueTask SetItemAsync(string key, string data, CancellationToken cancellationToken = default); }