export type { BuiltinErrorCode, OptionalBuiltinContext, ThrowableBuiltinCode, } from './builtinErrors'; export { BUILTIN_ERROR } from './builtinErrors'; export type { CallspecOk, CallspecFailure, CallspecResult, CallspecRouteResult, CallspecClientErrors, CallspecBuiltinClientError, CallspecUnknownClientError, CallspecNetworkClientError, CallResultOptions, DomainErrorContract, } from './clientTypes'; export { CLIENT_ERROR, normalizeClientErrorBody, resolveRouteClientError, } from './clientErrorNormalization'; export type { ResolveRouteClientErrorInput } from './clientErrorNormalization'; import type { CallspecOk, CallspecResult, CallspecRouteResult, CallResultOptions } from './clientTypes'; export declare function isCallspecOk(result: CallspecResult): result is CallspecOk; export declare function isCallspecFailure(result: CallspecResult): result is Extract, { ok: false; }>; export declare function callspecClientErrorCode(error: unknown): string | undefined; export declare function joinCallspecUrl(baseUrl: string, routeSegment: string): string; export type CallspecClientConfig = { baseUrl: string; headers?: HeadersInit | (() => HeadersInit | Promise); fetch?: typeof globalThis.fetch; fetchOptions?: Omit; /** Defaults to `navigator.onLine !== false` when `navigator` exists. */ isOnline?: () => boolean; }; export declare class CallspecClient { private readonly config; private readonly fetchImpl; private readonly isOnline; constructor(config: CallspecClientConfig); callResult(routeName: string, input: unknown, options?: CallResultOptions): Promise>; }