import type { PackageJSON } from 'resolve'; interface Package extends PackageJSON { } type PackageFilterFn = (pkg: Package, pkgfile: string) => Package; export interface ResolveOpts { /** name of the caller for error message (default to `Resolver`) */ caller?: string; /** directories to begin resolving from (defaults to `[__dirname]`) */ basedirs?: string[]; /** array of file extensions to search in order (defaults to `[".mjs", ".js", ".cjs", ".json"]`) */ extensions?: string | ReadonlyArray; /** don't resolve `basedirs` to real path before resolving. (defaults to `true`) */ preserveSymlinks?: boolean; /** transform the parsed `package.json` contents before looking at the "main" field */ packageFilter?: PackageFilterFn; } interface PackageFilterBuilderOpts { fields?: string[]; conditions?: string[]; } type PackageFilterBuilderFn = (path?: string, opts?: PackageFilterBuilderOpts) => PackageFilterFn; export declare const packageFilterBuilder: PackageFilterBuilderFn; export declare function resolveSync(ids: string[], userOpts: ResolveOpts): string; export {};