// Copyright 2018 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.ui.scenic;

using fuchsia.ui.gfx;
using fuchsia.ui.input;
using fuchsia.ui.views;

type Command = strict resource union {
    1: gfx fuchsia.ui.gfx.Command;
    2: reserved;
    3: views fuchsia.ui.views.Command;
    4: input fuchsia.ui.input.Command;
};
