/**
 * Capability barrel + provider resolver.
 *
 * Analyzers call `providersFor(SECRETS)` rather than hand-iterating
 * `LANGUAGES` or reading `GLOBAL_CAPABILITIES` directly. One lookup
 * function hides the per-pack vs global split so analyzer code reads
 * identically regardless of which registry hosts the capability.
 */
import { type CapabilityDescriptor } from './descriptors';
import type { CapabilityProvider } from './provider';
import type { CapabilityEnvelope } from './types';
/** Test seam — drop the active-pack cache between runs. */
export declare function clearProvidersForCache(): void;
/**
 * Resolve the concrete provider list for a capability descriptor.
 *
 * For per-pack capabilities (depVulns, lint, coverage, testFramework,
 * imports): collected from LanguageSupport entries that declared a
 * provider in `capabilities.<id>`. When a `cwd` is given, filter to
 * packs whose `detect(cwd)` returns true — this is the stack-aware
 * path that closes D010 (inactive-pack `toolsUsed` pollution + the
 * gather-time cost of inactive packs' providers running and bailing
 * fast on every analyzer dispatch). When `cwd` is omitted, every
 * registered pack's provider is returned — this is the path the
 * pack-shape contract tests use to assert "every pack ships X."
 *
 * For global capabilities (secrets, codePatterns, duplication,
 * structural): the registered provider array (Phase 10e.C.7.5),
 * unconditional. Globals are stack-agnostic — gitleaks scans regardless
 * of which packs are active — so the `cwd` parameter is ignored on
 * this branch.
 *
 * SECRETS stacks gitleaks + grep-secrets fallback, DEP_VULNS is set up
 * for a future Snyk opt-in (Phase 10h.4). The descriptor's `aggregate`
 * function merges envelopes across providers. Returns `[]` when the
 * capability id isn't in either registry.
 */
export declare function providersFor<T extends CapabilityEnvelope>(cap: CapabilityDescriptor<T>, cwd?: string): ReadonlyArray<CapabilityProvider<T>>;
export { GLOBAL_CAPABILITIES, type GlobalCapabilities } from './global';
//# sourceMappingURL=index.d.ts.map