"use strict";
/**
 * Intelligent Algorithm Selection Engine - Type Definitions
 * Advanced algorithm selection based on dataset characteristics and business requirements
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.SelectionError = void 0;
class SelectionError extends Error {
    category;
    component;
    recoverable;
    fallbackStrategy;
    constructor(message, category, component, recoverable, fallbackStrategy) {
        super(message);
        this.name = 'SelectionError';
        this.category = category;
        this.component = component;
        this.recoverable = recoverable;
        this.fallbackStrategy = fallbackStrategy;
        // Maintain proper stack trace
        if (Error.captureStackTrace) {
            Error.captureStackTrace(this, SelectionError);
        }
    }
}
exports.SelectionError = SelectionError;
//# sourceMappingURL=types.js.map