import type { ResponseError } from 'superagent' /** * An error that may be safe to log as it omits sensitive request headers */ export class SanitisedError extends Error { text?: string responseStatus?: number code?: string errno?: string | number headers?: Record data?: ErrorData } export type UnsanitisedError = ResponseError export interface ErrorHandler { (path: string, method: string, error: SanitisedError): Response } export interface ErrorLogger { (path: string, method: string, error: SanitisedError): void } export interface RetryError extends ResponseError { code?: string crossDomain?: boolean }