using AsyncEvent; namespace FileTime.Core.Models { public interface IContainer : IItem { IReadOnlyList Exceptions { get; } Task?> GetItems(CancellationToken token = default); Task?> GetContainers(CancellationToken token = default); Task?> GetElements(CancellationToken token = default); Task RefreshAsync(CancellationToken token = default); Task GetByPath(string path, bool acceptDeepestMatch = false); Task CreateContainer(string name); Task CreateElement(string name); Task IsExists(string name); Task Clone(); Task CanOpen(); bool IsLoaded { get; } bool SupportsDirectoryLevelSoftDelete { get; } AsyncEventHandler Refreshed { get; } } }