using System; using System.Collections.Generic; using System.Threading.Tasks; using Wino.Core.Domain.Entities.Shared; using Wino.Core.Domain.Enums; using Wino.Core.Domain.Models.Accounts; using Wino.Core.Domain.Models.Common; namespace Wino.Core.Domain.Interfaces { public interface IDialogServiceBase { Task PickWindowsFolderAsync(); Task PickWindowsFileContentAsync(params object[] typeFilters); Task ShowConfirmationDialogAsync(string question, string title, string confirmationButtonTitle); Task ShowMessageAsync(string message, string title, WinoCustomMessageDialogIcon icon); void InfoBarMessage(string title, string message, InfoBarMessageType messageType); void InfoBarMessage(string title, string message, InfoBarMessageType messageType, string actionButtonText, Action action); void ShowNotSupportedMessage(); Task ShowEditAccountDialogAsync(MailAccount account); Task ShowTextInputDialogAsync(string currentInput, string dialogTitle, string dialogDescription, string primaryButtonText); Task ShowWinoCustomMessageDialogAsync(string title, string description, string approveButtonText, WinoCustomMessageDialogIcon? icon, string cancelButtonText = "", string dontAskAgainConfigurationKey = ""); Task ShowCustomThemeBuilderDialogAsync(); Task ShowAccountProviderSelectionDialogAsync(List availableProviders); IAccountCreationDialog GetAccountCreationDialog(AccountCreationDialogResult accountCreationDialogResult); Task> PickFilesAsync(params object[] typeFilters); Task PickFilePathAsync(string saveFileName); } }