using FluentResults;

namespace NexusReader.Application.Abstractions.Services;

public interface INativeStorageService
{
    Task<Result> SaveStringAsync(string key, string value);
    Task<Result<string?>> GetStringAsync(string key);
    Task<Result> SaveBoolAsync(string key, bool value);
    Task<Result<bool>> GetBoolAsync(string key, bool defaultValue = false);
    Task<Result> RemoveAsync(string key);
    
    Task<Result> SaveSecureString(string key, string value);
    Task<Result<string?>> GetSecureString(string key);
    Task<Result> RemoveSecureAsync(string key);
}
