export declare const SynapseErrorCode: { readonly API: "API_ERROR"; readonly CONNECTION: "CONNECTION_ERROR"; readonly RECORDING: "RECORDING_ERROR"; readonly FILE: "FILE_ERROR"; readonly SESSION: "SESSION_ERROR"; readonly MESSAGE: "MESSAGE_ERROR"; readonly STORE: "STORE_ERROR"; readonly CONFIGURATION: "CONFIGURATION_ERROR"; readonly VALIDATION: "VALIDATION_ERROR"; readonly AUTH: "AUTH_ERROR"; readonly UNKNOWN: "UNKNOWN_ERROR"; }; export type SynapseErrorCode = (typeof SynapseErrorCode)[keyof typeof SynapseErrorCode]; export interface SynapseErrorOptions { cause?: unknown; displayMessage?: string; context?: Record; hint?: string; } export declare class SynapseError extends Error { readonly code: SynapseErrorCode; readonly timestamp: Date; readonly cause?: unknown; readonly context?: Record; readonly hint?: string; readonly displayMessage?: string; constructor(message: string, code?: SynapseErrorCode, options?: SynapseErrorOptions); } export declare class APIError | undefined = Record | undefined> extends SynapseError { /** HTTP status code */ readonly status?: TStatus; /** JSON body of the error response or custom error object */ readonly error?: TError; /** HTTP response headers */ readonly headers?: THeader; constructor(message: string, status?: TStatus, error?: TError, headers?: THeader); private static makeMessage; static generate(status: number | undefined, errorResponse: Record | undefined, message?: string, headers?: Headers): APIError>; } export declare class APIUserAbortError extends APIError { constructor({ message }?: { message?: string; }); } export declare class APIConnectionTimeoutError extends APIError { constructor({ message }?: { message?: string; }); } export declare class BadRequestError extends APIError<400, Headers, Record> { constructor(message: string, status: 400, error?: Record, headers?: Headers); } export declare class UnauthorizedError extends APIError<401, Headers, Record> { constructor(message: string, status: 401, error?: Record, headers?: Headers); } export declare class PermissionDeniedError extends APIError<403, Headers, Record> { constructor(message: string, status: 403, error?: Record, headers?: Headers); } export declare class NotFoundError extends APIError<404, Headers, Record> { constructor(message: string, status: 404, error?: Record, headers?: Headers); } export declare class MethodNotAllowedError extends APIError<405, Headers, Record> { constructor(message: string, status: 405, error?: Record, headers?: Headers); } export declare class RateLimitError extends APIError<429, Headers, Record> { constructor(message: string, status: 429, error?: Record, headers?: Headers); } export declare class InternalServerError extends APIError> { constructor(message: string, status: number, error?: Record, headers?: Headers); } export declare class ConnectionError extends SynapseError { constructor(message: string, options?: SynapseErrorOptions); } export declare class RecordingError extends SynapseError { constructor(message: string, options?: SynapseErrorOptions); } export declare class AuthenticationError extends SynapseError { constructor(message: string, options?: SynapseErrorOptions); } export declare class FileError extends SynapseError { constructor(message: string, options?: SynapseErrorOptions); } export declare class SessionError extends SynapseError { constructor(message: string, options?: SynapseErrorOptions); } export declare class MessageError extends SynapseError { constructor(message: string, options?: SynapseErrorOptions); } export declare class StoreError extends SynapseError { constructor(message: string, options?: SynapseErrorOptions); } export declare class ConfigurationError extends SynapseError { constructor(message: string, options?: SynapseErrorOptions); } export declare class ValidationError extends SynapseError { constructor(message: string, options?: SynapseErrorOptions); } type SynapseErrorCtor = new (message: string, options?: SynapseErrorOptions) => T; export declare function normalizeError(error: unknown, ctor: SynapseErrorCtor, fallbackMessage: string, options?: SynapseErrorOptions): T; export {};