import type { WireProfileName } from './topics';

export interface WireProfile {
  name: WireProfileName;

  /**
   * Subscriptions for ingress. Strangler Fig default = subscribe to both.
   * You can constrain for strict mode.
   */
  subscribeLegacyIngress: boolean;
  subscribeMxIngress: boolean;

  /** Outbound encoding */
  encode: 'matrix3' | 'mxenv1';
}

export const WIRE_PROFILES: Record<WireProfileName, WireProfile> = {
  matrix3: {
    name: 'matrix3',
    subscribeLegacyIngress: true,
    subscribeMxIngress: true,
    encode: 'matrix3',
  },
  mxenv1: {
    name: 'mxenv1',
    subscribeLegacyIngress: true,
    subscribeMxIngress: true,
    encode: 'mxenv1',
  },
};
