// // Copyright 2020 DXOS.org // import * as Context from 'effect/Context'; import { type Event } from '@dxos/async'; import { type Lifecycle } from '@dxos/context'; import { type SignalMethods, type SignalStatus } from '../signal-methods'; /** * Manages a collection of signaling clients. */ export interface SignalManager extends SignalMethods, Required { statusChanged?: Event; getStatus?: () => SignalStatus[]; } export class SignalManagerService extends Context.Tag('@dxos/messaging/SignalManager')< SignalManagerService, SignalManager >() {}