import type { RpcTransportResponse } from "../client/index.js"; export interface TwirpError { code: ErrorCode; msg: string; meta?: Record; } export declare class TwirpError implements TwirpError { constructor(error: TwirpError); } type ErrorCode = "canceled" | "unknown" | "invalid_argument" | "malformed" | "deadline_exceeded" | "not_found" | "bad_route" | "already_exists" | "permission_denied" | "unauthenticated" | "resource_exhausted" | "failed_precondition" | "aborted" | "out_of_range" | "unimplemented" | "internal" | "unavailable" | "data_loss"; export declare const statusCodeForErrorCode: { readonly canceled: 408; readonly unknown: 500; readonly invalid_argument: 400; readonly malformed: 400; readonly deadline_exceeded: 408; readonly not_found: 404; readonly bad_route: 404; readonly already_exists: 409; readonly permission_denied: 403; readonly unauthenticated: 401; readonly resource_exhausted: 403; readonly failed_precondition: 412; readonly aborted: 409; readonly out_of_range: 400; readonly unimplemented: 501; readonly internal: 500; readonly unavailable: 503; readonly data_loss: 500; }; export declare function twirpErrorFromResponse(res: RpcTransportResponse): Promise; export {};