import type { Mapping, RecursivePartial } from 'clientnode'; export interface Issue { errorMessage: Type; technologyDescription: Type; ua: Type; browser?: { name: Type; version: Type; major: Type; }; cpu?: { architecture: Type; }; device?: { model?: Type; type?: Type; vendor?: Type; }; engine: { name: Type; version: Type; }; os: { name: Type; version: Type; }; } export interface BaseLocation { hostname: string; href: string; port?: string; protocol: string; } export type IssueSpecification = RecursivePartial>; export type NativeErrorHandler = (errorMessage: Event | string, url?: string, lineNumber?: number, columnNumber?: number, error?: Error, ...additionalParameter: Array) => (false | undefined); export type ErrorHandler = NativeErrorHandler & { additionalIssuesToIgnore: Array; callbackBackup: NativeErrorHandler; failedHandler: (error: unknown) => void; issuesToIgnore: Array; issueToIgnoreHandler: (issue: Issue, issueToIgnore: IssueSpecification) => void; location: BaseLocation; reported: Mapping; reportedHandler: (response: Response) => Promise | void; reportPath: string; };