export interface Output { readonly name: string value: T, connect(input: Input):void } export interface Input { readonly name: string value: T, connect(output: Output): void }