using System.Collections.ObjectModel; using DeclarativeProperty; using FileTime.Core.Models; using FileTime.Core.Services; using InitableService; namespace FileTime.App.Core.ViewModels; public interface ITabViewModel : IInitable, IDisposable { ITab? Tab { get; } int TabNumber { get; } IDeclarativeProperty IsSelected { get; } IDeclarativeProperty CurrentLocation { get; } IDeclarativeProperty CurrentSelectedItem { get; } IDeclarativeProperty CurrentSelectedItemAsContainer { get; } IDeclarativeProperty?> CurrentItems { get; } IDeclarativeProperty> MarkedItems { get; } IDeclarativeProperty?> SelectedsChildren { get; } IDeclarativeProperty?> ParentsChildren { get; } IDeclarativeProperty CurrentSelectedItemIndex { get; set; } void ClearMarkedItems(); void RemoveMarkedItem(FullName fullName); void AddMarkedItem(FullName fullName); void ToggleMarkedItem(FullName fullName); }