/**
 * Command Error Classes
 *
 * This module provides error classes for command-related failures.
 * These errors are thrown during command execution, undo, or dependency resolution.
 *
 * @module declarative-api/errors/command-errors
 */
import { InfrastructureError } from './infrastructure-error';
/**
 * Error thrown when command execution fails.
 *
 * @example
 * ```typescript
 * try {
 *   command.execute();
 * } catch (error) {
 *   if (isCommandExecutionFailedError(error)) {
 *     console.log(`Command ${error.commandId} failed: ${error.message}`);
 *   }
 * }
 * ```
 */
export declare class CommandExecutionFailedError extends InfrastructureError {
    readonly commandId: string;
    readonly name: string;
    constructor(commandId: string, message: string, options?: {
        component?: string;
        operation?: string;
        cause?: Error;
    });
}
/**
 * Type guard for CommandExecutionFailedError.
 */
export declare function isCommandExecutionFailedError(error: unknown): error is CommandExecutionFailedError;
/**
 * Error thrown when command undo fails.
 */
export declare class CommandUndoFailedError extends InfrastructureError {
    readonly commandId: string;
    readonly name: string;
    constructor(commandId: string, message: string, options?: {
        component?: string;
        operation?: string;
        cause?: Error;
    });
}
/**
 * Type guard for CommandUndoFailedError.
 */
export declare function isCommandUndoFailedError(error: unknown): error is CommandUndoFailedError;
/**
 * Error thrown when a cyclic dependency is detected in command graph.
 */
export declare class CommandCyclicDependencyError extends InfrastructureError {
    readonly cycle: readonly string[];
    readonly name: string;
    constructor(cycle: readonly string[], options?: {
        component?: string;
        operation?: string;
    });
}
/**
 * Type guard for CommandCyclicDependencyError.
 */
export declare function isCommandCyclicDependencyError(error: unknown): error is CommandCyclicDependencyError;
/**
 * Error thrown when a required command dependency is missing.
 */
export declare class CommandMissingDependencyError extends InfrastructureError {
    readonly commandId: string;
    readonly missingDependency: string;
    readonly name: string;
    constructor(commandId: string, missingDependency: string, options?: {
        component?: string;
        operation?: string;
    });
}
/**
 * Type guard for CommandMissingDependencyError.
 */
export declare function isCommandMissingDependencyError(error: unknown): error is CommandMissingDependencyError;
/**
 * Error thrown when a command cannot be executed due to precondition failure.
 */
export declare class CommandPreconditionError extends InfrastructureError {
    readonly commandId: string;
    readonly precondition: string;
    readonly name: string;
    constructor(commandId: string, precondition: string, options?: {
        component?: string;
        operation?: string;
    });
}
/**
 * Type guard for CommandPreconditionError.
 */
export declare function isCommandPreconditionError(error: unknown): error is CommandPreconditionError;
/**
 * Error thrown when batch command execution fails.
 */
export declare class BatchCommandExecutionError extends InfrastructureError {
    readonly failedCommandId: string;
    readonly executedCommands: readonly string[];
    readonly pendingCommands: readonly string[];
    readonly name: string;
    constructor(failedCommandId: string, executedCommands: readonly string[], pendingCommands: readonly string[], message: string, options?: {
        component?: string;
        operation?: string;
        cause?: Error;
    });
}
/**
 * Type guard for BatchCommandExecutionError.
 */
export declare function isBatchCommandExecutionError(error: unknown): error is BatchCommandExecutionError;
