using WPFluent.Controls;
using System.Windows.Controls;
namespace WPFluent;
///
/// Represents a contract with the service that provides global .
///
public interface ISnackbarService
{
///
/// Provides direct access to the
///
/// currently in use.
SnackbarPresenter? GetSnackbarPresenter();
///
/// Sets the
///
///
/// inside of which the snackbar will be placed. The new will
/// replace the current .
///
void SetSnackbarPresenter(SnackbarPresenter contentPresenter);
///
/// Shows the snackbar. If it is already visible, firstly hides it for a moment, changes its content, and then shows it
/// again.
///
/// Name displayed on top of snackbar.
/// Message inside the snackbar.
/// Display style.
/// Additional icon on the left.
/// The time after which the snackbar should disappear.
void Show(string title, string message, ControlAppearance appearance, IconElement? icon, TimeSpan timeout);
///
/// Gets or sets a time for which the should be visible. (By default 2 seconds)
///
TimeSpan DefaultTimeOut { get; set; }
}