/**
 * Error Message Formatter
 *
 * Provides consistent error formatting across SpecWeave commands.
 * All error messages follow the same structure with emoji indicators,
 * clear descriptions, and actionable next steps.
 *
 * @module utils/error-formatter
 * @version 1.0.102
 */
/**
 * Error severity levels
 */
export type ErrorSeverity = 'error' | 'warning' | 'info';
/**
 * Formatted error message structure
 */
export interface FormattedError {
    /** Error title */
    title: string;
    /** Error description */
    description: string;
    /** Suggested next steps (optional) */
    suggestions?: string[];
    /** Related commands (optional) */
    relatedCommands?: string[];
    /** Example of correct usage (optional) */
    example?: string;
}
/**
 * Common error scenarios with formatted messages
 */
export declare const ERROR_MESSAGES: {
    INCREMENT_NOT_FOUND: (id: string) => FormattedError;
    SPEC_NOT_FOUND: (incrementId: string) => FormattedError;
    WRONG_COMMAND_FOR_NEW_INCREMENT: () => FormattedError;
    WRONG_COMMAND_FOR_EXISTING_INCREMENT: (incrementId: string) => FormattedError;
    INTERNAL_SKILL_DIRECT_CALL: (skillName: string, allowedCallers: string[]) => FormattedError;
    INVALID_INCREMENT_NUMBER: (provided: string, expected: string) => FormattedError;
    DUPLICATE_INCREMENT: (id: string) => FormattedError;
    INVALID_STATUS_TRANSITION: (from: string, to: string) => FormattedError;
    INCREMENT_NOT_READY: (incrementId: string, reason: string) => FormattedError;
    MISSING_REQUIRED_ARG: (argName: string, command: string) => FormattedError;
};
/**
 * Formats and logs an error message with consistent styling
 *
 * @param error - Formatted error object
 * @param severity - Error severity level (default: 'error')
 *
 * @example
 * ```typescript
 * formatError(ERROR_MESSAGES.INCREMENT_NOT_FOUND('0042'));
 * ```
 */
export declare function formatError(error: FormattedError, severity?: ErrorSeverity): void;
/**
 * Quick helper to format and throw an error
 *
 * @param error - Formatted error object
 * @throws Error with formatted message
 *
 * @example
 * ```typescript
 * throwFormattedError(ERROR_MESSAGES.INCREMENT_NOT_FOUND('0042'));
 * ```
 */
export declare function throwFormattedError(error: FormattedError): never;
/**
 * Format a simple error message (for custom errors not in ERROR_MESSAGES)
 *
 * @param title - Error title
 * @param description - Error description
 * @param suggestions - Optional suggestions
 *
 * @example
 * ```typescript
 * formatSimpleError('File not found', 'The file does not exist', ['Check the path']);
 * ```
 */
export declare function formatSimpleError(title: string, description: string, suggestions?: string[]): void;
//# sourceMappingURL=error-formatter.d.ts.map