/**
 * Quality preset for video downloads
 */
export type QualityPreset = "original" | "high" | "medium" | "low";

/**
 * Quality preset configuration
 */
export interface QualityPresetConfig {
  videoBitrate: number | null;
  audioBitrate: number;
  maxHeight: number | null;
  label: string;
}

/**
 * Quality presets with their configuration
 */
export const QUALITY_PRESETS: Record<QualityPreset, QualityPresetConfig> = {
  original: {
    videoBitrate: null,
    audioBitrate: 384000,
    maxHeight: null,
    label: "Original",
  },
  high: {
    videoBitrate: 8_000_000,
    audioBitrate: 384000,
    maxHeight: 1080,
    label: "1080p",
  },
  medium: {
    videoBitrate: 4_000_000,
    audioBitrate: 256000,
    maxHeight: 720,
    label: "720p",
  },
  low: {
    videoBitrate: 1_500_000,
    audioBitrate: 128000,
    maxHeight: 480,
    label: "480p",
  },
};
