using System.Collections.Frozen; using mROA.Implementation; using mROA.Implementation.Attributes; namespace Example.Shared; [SharedObjectInterface] public interface IPrinterFactory { SharedObject Create(string printerName); void Register(SharedObject printer); SharedObject GetPrinterByName(string printerName); string[] CollectAllNames(); }