import * as v from 'valibot'; /** * Every code we raise is one oRPC already knows, so handlers derive the HTTP * status from `COMMON_ERROR_STATUS_MAP` on their own and clients can use the * standard `isDefinedError` helpers. Do not add a code oRPC has no status for — * it would silently answer 500. */ export declare const BUNDERSTACK_ERROR_CODES: readonly ["BAD_REQUEST", "UNAUTHORIZED", "FORBIDDEN", "NOT_FOUND", "CONFLICT", "PAYLOAD_TOO_LARGE", "TOO_MANY_REQUESTS"]; export type BunderstackErrorCode = (typeof BUNDERSTACK_ERROR_CODES)[number]; export declare const BUNDERSTACK_ERRORS: { readonly BAD_REQUEST: { readonly data: v.OptionalSchema, "BAD_REQUEST">; readonly details: v.OptionalSchema; }, undefined>, { readonly code: "BAD_REQUEST"; }>; }; readonly UNAUTHORIZED: { readonly data: v.OptionalSchema, "UNAUTHORIZED">; readonly details: v.OptionalSchema; }, undefined>, { readonly code: "UNAUTHORIZED"; }>; }; readonly FORBIDDEN: { readonly data: v.OptionalSchema, "FORBIDDEN">; readonly details: v.OptionalSchema; }, undefined>, { readonly code: "FORBIDDEN"; }>; }; readonly NOT_FOUND: { readonly data: v.OptionalSchema, "NOT_FOUND">; readonly details: v.OptionalSchema; }, undefined>, { readonly code: "NOT_FOUND"; }>; }; readonly CONFLICT: { readonly data: v.OptionalSchema, "CONFLICT">; readonly details: v.OptionalSchema; }, undefined>, { readonly code: "CONFLICT"; }>; }; readonly PAYLOAD_TOO_LARGE: { readonly data: v.OptionalSchema, "PAYLOAD_TOO_LARGE">; readonly details: v.OptionalSchema; }, undefined>, { readonly code: "PAYLOAD_TOO_LARGE"; }>; }; readonly TOO_MANY_REQUESTS: { readonly data: v.OptionalSchema, "TOO_MANY_REQUESTS">; readonly details: v.OptionalSchema; }, undefined>, { readonly code: "TOO_MANY_REQUESTS"; }>; }; }; export declare class BunderstackError extends Error { readonly code: BunderstackErrorCode; readonly details?: unknown | undefined; readonly status: number; constructor(code: BunderstackErrorCode, message: string, details?: unknown | undefined, options?: ErrorOptions); } export declare const mapBunderstackErrors: import("@orpc/server").DecoratedMiddleware, "BAD_REQUEST">; readonly details: v.OptionalSchema; }, undefined>, { readonly code: "BAD_REQUEST"; }>; }; readonly UNAUTHORIZED: { readonly data: v.OptionalSchema, "UNAUTHORIZED">; readonly details: v.OptionalSchema; }, undefined>, { readonly code: "UNAUTHORIZED"; }>; }; readonly FORBIDDEN: { readonly data: v.OptionalSchema, "FORBIDDEN">; readonly details: v.OptionalSchema; }, undefined>, { readonly code: "FORBIDDEN"; }>; }; readonly NOT_FOUND: { readonly data: v.OptionalSchema, "NOT_FOUND">; readonly details: v.OptionalSchema; }, undefined>, { readonly code: "NOT_FOUND"; }>; }; readonly CONFLICT: { readonly data: v.OptionalSchema, "CONFLICT">; readonly details: v.OptionalSchema; }, undefined>, { readonly code: "CONFLICT"; }>; }; readonly PAYLOAD_TOO_LARGE: { readonly data: v.OptionalSchema, "PAYLOAD_TOO_LARGE">; readonly details: v.OptionalSchema; }, undefined>, { readonly code: "PAYLOAD_TOO_LARGE"; }>; }; readonly TOO_MANY_REQUESTS: { readonly data: v.OptionalSchema, "TOO_MANY_REQUESTS">; readonly details: v.OptionalSchema; }, undefined>, { readonly code: "TOO_MANY_REQUESTS"; }>; }; }>; /** * Sub-codes carried in `data.details.code` when the oRPC code alone loses * information the client may want to branch on. Codes that duplicate an oRPC * code are suppressed as redundant, see {@link CrudOperationError}. */ export declare const ErrorCode: { readonly BAD_REQUEST: "BAD_REQUEST"; readonly FORBIDDEN: "FORBIDDEN"; readonly NOT_FOUND: "NOT_FOUND"; readonly CONFLICT: "CONFLICT"; readonly INVALID_CURSOR: "INVALID_CURSOR"; readonly TOO_MANY_REQUESTS: "TOO_MANY_REQUESTS"; readonly IDEMPOTENCY_REPLAY: "IDEMPOTENCY_REPLAY"; readonly IDEMPOTENCY_CONFLICT: "IDEMPOTENCY_CONFLICT"; }; export type ErrorCodeValue = (typeof ErrorCode)[keyof typeof ErrorCode]; export declare class ListQueryError extends Error { readonly code: ErrorCodeValue; readonly details?: unknown; constructor(message: string, code?: ErrorCodeValue, details?: unknown); } //# sourceMappingURL=errors.d.ts.map