export interface ErrorHint {
    cause: string;
    fix: string;
    docs?: string;
}
export type ErrorCode = 'tool.slither.missing' | 'tool.slither.failed' | 'tool.forge.missing' | 'tool.forge.failed' | 'tool.solc.missing' | 'tool.claude.missing' | 'tool.node.outdated' | 'project.scope.empty' | 'project.scope.unmatched' | 'project.scope.missing-file' | 'project.missing-config' | 'project.foundry-missing' | 'output.dir.unwritable' | 'output.file.unparseable' | 'ai-tool.missing-scan-id' | 'ai-tool.scan-failed' | 'analysis.no-data';
export declare const ERROR_HINTS: Record<ErrorCode, ErrorHint>;
export declare class HexError extends Error {
    code: ErrorCode;
    hint: ErrorHint;
    detail?: string;
    constructor(code: ErrorCode, detail?: string);
}
export declare function isHexError(err: unknown): err is HexError;
export declare function formatHexError(err: HexError): string;
export declare function reportError(err: unknown): void;
//# sourceMappingURL=errors.d.ts.map