import type { DagNodeRouting } from "../orchestration/dag.js";
export interface CapabilityInjectionInput {
    readonly mcpAllowlist?: readonly string[];
    readonly mcpServers?: readonly string[];
    readonly skillNames?: readonly string[];
    readonly skills?: readonly string[];
    readonly hookNames?: readonly string[];
    readonly hooks?: readonly string[];
    readonly tools?: readonly string[];
    readonly requireMcp?: boolean;
    readonly requiresToolCalling?: boolean;
}
export interface CapabilityKindSummary {
    readonly enabled: boolean;
    readonly count: number;
    readonly names: readonly string[];
}
export interface CapabilityInjectionSummary {
    readonly mcp: CapabilityKindSummary;
    readonly skills: CapabilityKindSummary;
    readonly hooks: CapabilityKindSummary;
    readonly tools: CapabilityKindSummary;
    readonly requiresMcp: boolean;
    readonly requiresToolCalling: boolean;
    readonly rationale: string;
}
export interface CapabilityInjection {
    readonly mcpServers: readonly string[];
    readonly skills: readonly string[];
    readonly hooks: readonly string[];
    readonly tools: readonly string[];
    readonly requiresMcp: boolean;
    readonly requiresToolCalling: boolean;
    readonly summary: CapabilityInjectionSummary;
}
export declare function normalizeCapabilityNames(values: readonly string[] | undefined): string[];
export declare function buildCapabilityInjection(input?: CapabilityInjectionInput): CapabilityInjection;
export declare function applyCapabilityInjectionToRouting(routing: DagNodeRouting, injection: CapabilityInjection): DagNodeRouting;
export declare function renderCapabilityInjectionSummary(injection: CapabilityInjection): string;
