// Copyright 2022 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.pkg.internal;

using fuchsia.pkg;

/// Type used for persisting eager package data in pkg-resolver.
type PersistentEagerPackages = table {
    1: packages vector<PersistentEagerPackage>:128;
};

type PersistentEagerPackage = table {
    1: url fuchsia.pkg.PackageUrl;
    2: cup fuchsia.pkg.CupData;
};
