type Names = (string | Names)[]; type Data = Record; type Nullable = T | null | undefined; interface CustomError extends Error { details?: D; parent?: CustomError | Error; ancestors: (CustomError | Error)[]; names: Names; } type Arg = Error | CustomError | string | D | undefined | null; interface CustomErrorConstructor2 { new (arg1?: Nullable, arg2?: Nullable, arg3?: Nullable): CustomError; (arg1?: Nullable, arg2?: Nullable, arg3?: Nullable): CustomError; stackTraceLimit: ErrorConstructor["stackTraceLimit"]; captureStackTrace: ErrorConstructor["captureStackTrace"]; extend: (name: string, options?: Options) => CustomErrorConstructor; normalize: (maybeError: unknown, options?: NormalizeOptions) => CustomError | Error; prototype: CustomError; } type CustomErrorConstructor = CustomErrorConstructor2; interface Options { cleanStackTraces?: boolean; } interface NormalizeOptions { mode: "instanceof" | "strict" | "loose"; } export type { Options, Names, Nullable, Data, Arg, CustomError, CustomErrorConstructor, NormalizeOptions }; //# sourceMappingURL=types.d.ts.map