/**
 * Binding Loader - package discovery + loading functions
 *
 * Discovers and loads binding manifest files from configured type roots and
 * their dependency graphs.
 */
import { BindingRegistry } from "./binding-registry.js";
/**
 * Recursively scan a directory for .d.ts files
 * Reuses the same helper as metadata loading
 */
export declare const scanForDeclarationFiles: (dir: string) => readonly string[];
/**
 * Load binding manifests from configured type roots.
 *
 * Conventions:
 * - Root-level `bindings.json` (simple/global bindings)
 * - `Namespace.d.ts` + `Namespace/bindings.json` (namespace facade)
 *
 * Also recursively loads bindings from dependency packages.
 */
export declare const loadBindings: (typeRoots: readonly string[]) => BindingRegistry;
/**
 * Load bindings from a specific file path into an existing registry.
 * Validates the file format and logs a warning if invalid.
 */
export declare const loadBindingsFromPath: (registry: BindingRegistry, bindingsPath: string) => void;
/**
 * Load all CLR bindings discovered by the resolver.
 * This should be called AFTER createProgram but BEFORE IR building
 * to ensure all bindings are available during IR construction.
 *
 * Note: The ClrBindingsResolver tracks discovered binding paths via caching,
 * so this loads bindings for any imports that were already resolved.
 */
export declare const loadAllDiscoveredBindings: (registry: BindingRegistry, discoveredPaths: ReadonlySet<string>) => void;
//# sourceMappingURL=binding-loader.d.ts.map