/**
 * Custom error classes for network operations
 */
export class NetworkError extends Error {
  public code?: string;
  constructor(message?: string, code?: string) {
    super(message);
    this.name = 'NetworkError';
    this.code = code;
    Object.setPrototypeOf(this, new.target.prototype);
  }
}

export class TimeoutError extends NetworkError {
  constructor(message?: string) {
    super(message, 'ETIMEOUT');
    this.name = 'TimeoutError';
    Object.setPrototypeOf(this, new.target.prototype);
  }
}
