// Copyright 2020 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.component;

const uint32 MAX_FACET_NAME_LENGTH = 100;
const uint32 MAX_CHILD_NAME_LENGTH = 100;
const uint32 MAX_COLLECTION_NAME_LENGTH = 100;
const uint32 MAX_RESOLVER_NAME_LENGTH = 100;
const uint32 MAX_RUNNER_NAME_LENGTH = 100;
const uint32 MAX_STORAGE_NAME_LENGTH = 100;
const uint32 MAX_ENVIRONMENT_NAME_LENGTH = 100;
const uint32 MAX_PATH_LENGTH = 1024;
const uint32 MAX_MONIKER_LENGTH = 4096;

/// The maximum number of environments a component can declare.
const uint32 MAX_NUM_ENVIRONMENTS = 100;

/// The maximum number of resolvers a component can declare.
const uint32 MAX_NUM_RESOLVERS = 100;
