/**
 * Dependency Resolver for plugin execution order
 *
 * Handles:
 * - Dependency validation (missing, disabled dependencies)
 * - Topological sorting for execution order
 * - Circular dependency detection
 * - Priority-based ordering within dependency levels
 */
import type { PluginRegistration } from './plugin-registration';
export declare class DependencyResolver {
    /**
     * Main entry point for resolving plugin dependencies
     * Validates dependencies and returns plugins in execution order
     *
     * @param registrations - Array of plugin registrations to resolve
     * @returns Sorted array of registrations in dependency order
     * @throws {Error} When dependencies are invalid or circular
     */
    static resolve(registrations: PluginRegistration[]): PluginRegistration[];
    /**
     * Validates all plugin dependencies are satisfied
     * Checks for missing dependencies and disabled dependency targets
     */
    private static validateDependencies;
    /**
     * Validates dependencies for a single plugin registration
     * Ensures all dependencies exist and are enabled
     */
    private static validatePluginDependencies;
    /**
     * Performs topological sort to determine execution order
     * Uses depth-first search with cycle detection
     */
    private static topologicalSort;
    /**
     * Sorts registrations by priority (highest first)
     * Used as initial ordering before dependency resolution
     */
    private static sortByPriority;
    /**
     * Alternative circular dependency detection using graph traversal
     * Can be used for pre-validation before sorting
     */
    static validateCircularDependencies(registrations: PluginRegistration[]): void;
}
//# sourceMappingURL=dependency-resolver.d.ts.map