export class ConfigError extends Error {
  constructor(message: string) {
    super(message);
    this.name = 'ConfigError';
  }
}

export class ConfigValidationError extends ConfigError {
  constructor(
    message: string,
    public errors: unknown
  ) {
    super(message);
    this.name = 'ConfigValidationError';
  }
}

export class ConfigLoaderError extends ConfigError {
  constructor(
    message: string,
    public loader: string
  ) {
    super(`${loader}: ${message}`);
    this.name = 'ConfigLoaderError';
  }
}
