export type CatchMatcher = number | number[] | string | ((error: unknown) => boolean); export interface CatchablePromise extends Promise { /** * Recover from specific errors. Matcher can be a status code, an array of * status codes, an error class name (string), or a predicate. * * Returning a value resolves the promise; throwing propagates a new error. */ onError: (matcher: CatchMatcher, handler: (error: Error) => U | Promise) => CatchablePromise; } export declare function catchable(promise: Promise): CatchablePromise; export declare function matchesMatcher(matcher: CatchMatcher, error: unknown): boolean;