/** * The specifier of the import that binds `name`, if the source has one. * * Matches only import statements at the start of a line, which is where module * syntax lives in practice, so a lazy clause match cannot run past the end of * its own statement. Covers `import type { X } from`, `import { type X } from`, * `import { X as Y } from` (matched on the imported name, which is the export * to read), a default binding, and a multi-line named list. */ export declare function importedSpecifier(name: string, source: string): string | undefined; /** * File URLs to try for `name` from `callerUrl`: what the caller's import * points at, or nothing when no import binds the name. * * An import is followed only when it is relative or absolute — a bare * specifier belongs to the workspace's dependency resolution, not to this * file-path walk. */ export declare function moduleCandidates(name: string, callerUrl: string): string[]; export type PageModuleImport = { moduleNamespace: Record | undefined; tried: string[]; url: string | undefined; }; /** * Imports the first candidate that exists, reporting every candidate so an * unresolved name can say what it looked for. Existence is checked before * importing so that a module-not-found thrown from *inside* the page object — * a bad import of its own — surfaces instead of being read as "no such page". */ export declare function importPageModule(name: string, callerUrl: string): Promise; /** Candidate URLs as paths relative to the caller, for error messages. */ export declare function describeCandidates(candidates: string[], callerUrl: string): string; //# sourceMappingURL=pageModuleResolution.d.ts.map