// wakewords/audioRoutingConfig.ts
export type RouteConfigEntry = {
  category: 'playAndRecord' | 'record' | 'soloAmbient' | 'ambient' | 'playback';
  mode: 'default' | 'measurement' | 'voiceChat' | 'videoRecording' | 'gameChat';
  options: (
    | 'mixWithOthers'
    | 'duckOthers'
    | 'allowBluetooth'
    | 'allowBluetoothA2DP'
    | 'allowAirPlay'
    | 'defaultToSpeaker'
    | 'overrideMutedMicrophoneInterruption'
  )[];
  preferredInput: 'none' | 'builtInMic'; // nil vs phone mic
};

export type AudioRoutingConfig = {
  default: RouteConfigEntry;
  byOutputPort: {
    carAudio?: RouteConfigEntry;        // .carAudio (CarPlay)
    builtInReceiver?: RouteConfigEntry; // .builtInReceiver (earpiece)
    builtInSpeaker?: RouteConfigEntry;  // .builtInSpeaker
    bluetoothA2DP?: RouteConfigEntry;   // .bluetoothA2DP
    bluetoothHFP?: RouteConfigEntry;    // .bluetoothHFP
    headphones?: RouteConfigEntry;      // .headphones
    // add more as needed
  };
};
