/** * Tool availability requirement checking. * * Repos declare optional tool requirements on descriptors. * If requiredTools are missing, we clean-skip (ok: false, degraded: false). * If preferredTools are missing, we degrade (ok: true, degraded: true). * * Semantics mirror engine.min floor checks (clean-skip on required, degrade on preferred). */ export interface ToolRequirementResult { ok: boolean; degraded: boolean; reason?: string; missingRequired?: string[]; missingPreferred?: string[]; } /** * Check required and preferred tool availability against currently available tools. * * If `availableTools` is undefined, we assume all tools are available (no restriction), * so absence never spuriously fails. */ export declare function checkToolRequirements(availableTools: readonly string[] | undefined, requiredTools?: readonly string[], preferredTools?: readonly string[]): ToolRequirementResult;