// Copyright 2022 The Fuchsia Authors.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.settings.storage;
using fuchsia.settings;

type LightGroups = struct {
    groups vector<fuchsia.settings.LightGroup>:MAX;
};
