import { PitcherResponseStatus } from "../pitcher-protocol"; import type { PitcherRequest, PitcherResponse, PitcherErrorCode } from "../pitcher-protocol"; import { Disposable } from "../utils/disposable"; export declare class PitcherMessageError extends Error { code: number; constructor(message: string, code: number); static match(error: any): error is PitcherMessageError; static matchCode(error: any, code: PitcherErrorCode): error is PitcherMessageError; } export declare class PendingPitcherMessage extends Disposable { id: number; message: Uint8Array; promise: Promise; method: PitcherRequest["method"]; private timeoutRef?; private _hasResolved; private _resolve?; private _reject?; constructor(id: number, request: T, timeoutMs?: number); resolve(response: R extends { method: T["method"]; } ? R : never): void; reject(error: Error): void; unwrap(): R extends { method: T["method"]; status: PitcherResponseStatus.RESOLVED; } ? Promise : never; dispose(message?: string): void; }