/**
 * Classe d'erreur personnalisée pour les services de tracks
 * CRITICAL FIX: Ensure all imports are processed before class definition
 */
// All imports must be at the top - this file has no imports, so class can be defined
export class TrackServiceError extends Error {
  constructor(
    message: string,
    public code: 'VALIDATION' | 'QUOTA' | 'NETWORK' | 'SERVER' | 'UNKNOWN',
    public retryable: boolean = false,
    public originalError?: unknown,
  ) {
    super(message);
    this.name = 'TrackServiceError';
  }
}

// Alias pour la rétrocompatibilité temporaire si nécessaire,
// mais idéalement nous devrions tout migrer vers TrackServiceError
export const TrackUploadError = TrackServiceError;
