/**
 * DtsPackageSurface — `PackageSurfaceResolver` adapter that reads installed
 * package `.d.ts` files from `node_modules`.
 *
 * Resolution flow:
 *   1. Find the package's root directory via the configured resolver
 *      (default uses `createRequire` against the working directory).
 *   2. Read its `package.json` to capture the resolved `version` and the
 *      `.d.ts` entry path (`types`, `typings`, or `exports["."].types`).
 *   3. Parse the entry `.d.ts` for top-level export declarations.
 *   4. Follow ONE hop of `export * from "./relative"` re-exports — direct
 *      siblings only, no transitive walking.
 *   5. Cache the result by package name for the resolver's lifetime.
 *
 * Throws `PackageSurfaceResolverError` with a typed `reason` when the
 * package isn't installed or its types entry can't be resolved. Callers
 * (the W0198 preflight) catch the error and convert it into per-binding
 * `unresolved` findings rather than `missing` deductions.
 */
import { type PackageSurface, type PackageSurfaceResolver } from "../../_vendor/ailf-core/index.d.ts";
/**
 * Resolves a package's installed root directory (the directory whose
 * `package.json` describes it). Returns `null` when the package isn't
 * installed in the configured lookup path.
 */
export type PackageRootResolver = (pkg: string) => string | null;
export interface DtsPackageSurfaceOptions {
    /**
     * How to find a package's root directory. Defaults to a `createRequire`
     * walk from `resolveFromDir` (or the current working directory).
     * Tests pass a fixture-aware resolver so they don't depend on real
     * `node_modules` contents.
     */
    resolvePackageRoot?: PackageRootResolver;
    /**
     * Directory whose `node_modules` chain is searched by the default
     * resolver. Ignored when `resolvePackageRoot` is supplied.
     */
    resolveFromDir?: string;
}
export declare class DtsPackageSurface implements PackageSurfaceResolver {
    private readonly resolveRoot;
    private readonly cache;
    constructor(opts?: DtsPackageSurfaceOptions);
    resolveExports(pkg: string): Promise<PackageSurface>;
}
