/**
 * Domain error hierarchy for codegraph.
 *
 * Library code throws these instead of calling process.exit() or throwing
 * bare Error instances. The CLI top-level catch formats them for humans;
 * MCP returns structured { isError, code } responses.
 */
export interface CodegraphErrorOpts {
    code?: string;
    file?: string;
    cause?: Error;
}
export declare class CodegraphError extends Error {
    code: string;
    file: string | undefined;
    constructor(message: string, { code, file, cause }?: CodegraphErrorOpts);
}
export declare class ParseError extends CodegraphError {
    constructor(message: string, opts?: CodegraphErrorOpts);
}
export declare class DbError extends CodegraphError {
    constructor(message: string, opts?: CodegraphErrorOpts);
}
export declare class ConfigError extends CodegraphError {
    constructor(message: string, opts?: CodegraphErrorOpts);
}
export declare class ResolutionError extends CodegraphError {
    constructor(message: string, opts?: CodegraphErrorOpts);
}
export declare class EngineError extends CodegraphError {
    constructor(message: string, opts?: CodegraphErrorOpts);
}
export declare class AnalysisError extends CodegraphError {
    constructor(message: string, opts?: CodegraphErrorOpts);
}
export declare class BoundaryError extends CodegraphError {
    constructor(message: string, opts?: CodegraphErrorOpts);
}
/** Safely extract a string message from an unknown thrown value. */
export declare function toErrorMessage(e: unknown): string;
/**
 * Catch-suppression helpers (`suppressError`, `suppressErrorAsync`) live in
 * `infrastructure/suppress.ts` to avoid a shared→infrastructure layer inversion.
 * Import them from there instead of from this module.
 */
//# sourceMappingURL=errors.d.ts.map