/**
 * SAC error handling - Exit codes and error types
 */
export declare const ExitCode: {
    readonly SUCCESS: 0;
    readonly GENERAL: 1;
    readonly USAGE: 2;
    readonly AUTH: 3;
    readonly QUOTA: 4;
    readonly TIMEOUT: 5;
    readonly NETWORK: 6;
    readonly CONTENT_FILTER: 10;
};
export type ExitCode = (typeof ExitCode)[keyof typeof ExitCode];
export declare class SACError extends Error {
    readonly exitCode: ExitCode;
    readonly hint?: string;
    /** Optional task ID to surface when a poll/network failure interrupts a generation. */
    taskId?: string;
    constructor(message: string, exitCode?: ExitCode, hint?: string);
    toJSON(): {
        error: {
            task_id?: string | undefined;
            hint?: string | undefined;
            code: ExitCode;
            message: string;
        };
    };
}
export { SACError as CLIError };
export interface ApiErrorBody {
    error?: {
        message?: string;
        code?: string | number;
    };
    message?: string;
    code?: string | number;
}
export declare function mapApiError(status: number, body: ApiErrorBody, url?: string): SACError;
//# sourceMappingURL=errors.d.ts.map