// Copyright 2017 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

library fuchsia.modular;

// An interface that provides clients with the ability to store and
// retrieve text.
[Discoverable]
protocol Clipboard {
    // Pushes |text| onto the clipboard.
    Push(string text);

    // Peeks at the current topmost item on the clipboard and returns
    // it, or null if no such item exists.
    Peek() -> (string? text);
};
