using ZB.MOM.WW.GalaxyRepository.Grpc;

namespace ZB.MOM.WW.GalaxyRepository;

/// <summary>
///     Resolution result for a tag address: the owning <see cref="GalaxyObject"/>, the
///     specific <see cref="GalaxyAttribute"/> when the address names an attribute (otherwise
///     <see langword="null"/>), and the object's contained path.
/// </summary>
/// <param name="Object">The Galaxy object that owns the looked-up address.</param>
/// <param name="Attribute">The matched attribute, or <see langword="null"/> when the address names an object.</param>
/// <param name="ContainedPath">The owning object's contained path.</param>
public sealed record GalaxyTagLookup(
    GalaxyObject Object,
    GalaxyAttribute? Attribute,
    string ContainedPath);
