/**
 * CLEO error types with exit code integration, LAFS error shape,
 * and RFC 9457 Problem Details support.
 *
 * @epic T4654
 * @task T4655
 * @task T5240
 */
import { ExitCode } from '@cleocode/contracts';
import type { LAFSError } from '@cleocode/lafs';
/**
 * RFC 9457 Problem Details object.
 * Structured error representation for API/MCP responses.
 *
 * @task T5240
 */
export interface ProblemDetails {
    type: string;
    title: string;
    status: number;
    detail: string;
    instance?: string;
    extensions?: Record<string, unknown>;
}
/**
 * Structured error class for CLEO operations.
 * Carries an exit code, human-readable message, and optional fix suggestions.
 * Produces LAFS-conformant error shapes via toLAFSError() and RFC 9457
 * Problem Details via toProblemDetails().
 */
export declare class CleoError extends Error {
    readonly code: ExitCode;
    readonly fix?: string;
    readonly alternatives?: Array<{
        action: string;
        command: string;
    }>;
    constructor(code: ExitCode, message: string, options?: {
        fix?: string;
        alternatives?: Array<{
            action: string;
            command: string;
        }>;
        cause?: unknown;
    });
    /**
     * Produce a LAFS-conformant error object.
     *
     * @task T4655
     */
    toLAFSError(): LAFSError;
    /**
     * Produce an RFC 9457 Problem Details object.
     *
     * @task T5240
     */
    toProblemDetails(): ProblemDetails;
    /** Structured JSON representation for LAFS output (backward compatible). */
    toJSON(): Record<string, unknown>;
    /**
     * Derive HTTP status from exit code range.
     * Used as fallback when catalog lookup misses.
     */
    private getHttpStatus;
}
//# sourceMappingURL=errors.d.ts.map