using System.Collections.ObjectModel; using DeclarativeProperty; using FileTime.App.Core.Models.Enums; using FileTime.App.Core.ViewModels.Timeline; namespace FileTime.App.Core.ViewModels; public interface IAppState { ReadOnlyObservableCollection Tabs { get; } IDeclarativeProperty SelectedTab { get; } IObservable SearchText { get; } IDeclarativeProperty ViewMode { get; } DeclarativeProperty RapidTravelText { get; } ITimelineViewModel TimelineViewModel { get; } IDeclarativeProperty ContainerStatus { get; } void AddTab(ITabViewModel tabViewModel); void RemoveTab(ITabViewModel tabViewModel); void SetSearchText(string? searchText); Task SwitchViewModeAsync(ViewMode newViewMode); Task SetSelectedTabAsync(ITabViewModel tabToSelect); }