using System.Threading.Tasks; namespace Flow.Launcher.Plugin { /// /// This interface is for plugins that wish to provide file preview (external preview) /// via a third party app instead of the default preview. /// public interface IAsyncExternalPreview : IFeatures { /// /// Method for opening/showing the preview. /// /// The file path to open the preview for /// Whether to send a toast message notification on failure for the user public Task OpenPreviewAsync(string path, bool sendFailToast = true); /// /// Method for closing/hiding the preview. /// public Task ClosePreviewAsync(); /// /// Method for switching the preview to the next file result. /// This requires the external preview be already open/showing /// /// The file path to switch the preview for /// Whether to send a toast message notification on failure for the user public Task SwitchPreviewAsync(string path, bool sendFailToast = true); } }