module dls.protocol.interfaces.client; public import dls.protocol.definitions; private abstract class RegistrationBase { string id; string method; } package abstract class RegistrationOptionsBase { } class Registration(R : RegistrationOptionsBase) : RegistrationBase { Nullable!R registerOptions; } class TextDocumentRegistrationOptions : RegistrationOptionsBase { Nullable!DocumentSelector documentSelector; } class RegistrationParams(R) { Registration!R[] registrations; } class Unregistration : RegistrationBase { } class UnregistrationParams { Unregistration[] unregistrations; }