import { type ExitCodeValue } from '../types.js'; export declare class CrtrError extends Error { code: string; exitCode: ExitCodeValue; details?: Record; constructor(code: string, message: string, exitCode?: ExitCodeValue, details?: Record); } export declare function notFound(message: string, details?: Record): CrtrError; export declare function usage(message: string, details?: Record): CrtrError; export declare function ambiguous(message: string, details?: Record): CrtrError; export declare function network(message: string, details?: Record): CrtrError; export declare function general(message: string, details?: Record): CrtrError; /** A node's broker ENGINE failed to launch or bind its view socket — an * operational failure surfaced from deep in the spawn/revive path (e.g. the * front-door root create). It is NOT a bad request and NOT an internal crtr * bug: it carries a curated cause the caller needs, so it must never collapse * into a bare `internal` 500 with the message stripped. * * The `details` deliberately carry the FULL `{error, message, next}` payload so * a server-thrown instance round-trips through crtrd verbatim: `toErrorBody` * surfaces it as a <500 body with structured details, and the client's * `apiErrorToCliError` (tier 2) reconstructs the exact code, message, and * actionable `next` instead of degrading to a generic `invalid_request`. */ export declare function brokerLaunchFailed(message: string, next: string): CrtrError; /** Thrown by stub handlers for leaves not yet wired in P3+. * code='not_implemented', exitCode=GENERAL, next names the node. */ export declare function notImplemented(node: string): CrtrError;