namespace Terminal.Gui;
/// Definition to interact with the OS clipboard.
public interface IClipboard
{
/// Returns true if the environmental dependencies are in place to interact with the OS clipboard.
bool IsSupported { get; }
/// Get the operating system clipboard.
/// Thrown if it was not possible to read the clipboard contents.
string GetClipboardData ();
/// Sets the operating system clipboard.
///
/// Thrown if it was not possible to set the clipboard contents.
void SetClipboardData (string text);
/// Gets the operating system clipboard if possible.
/// Clipboard contents read
/// true if it was possible to read the OS clipboard.
bool TryGetClipboardData (out string result);
/// Sets the operating system clipboard if possible.
///
/// True if the clipboard content was set successfully.
bool TrySetClipboardData (string text);
}