import type { CandidateSite } from './scan-jsx.js'; export interface ImportBinding { /** The raw import specifier (e.g. `'./schemas/signup'` or `'@acme/lib'`). */ source: string; /** Local identifier name (after any `as` alias). */ localName: string; /** Imported name from the source module (`signupSchema`, `default`). */ importedName: string; } export interface ResolvedSite { /** The candidate site this resolution applies to. */ candidate: CandidateSite; /** Absolute path to the schema file (post-resolveImport). */ schemaFile: string; /** Imported name of the schema from the source module. */ schemaExportName: string; /** The local identifier that will replace `ZodForm` at this site ( (`_z2fGeneratedForm_`). */ generatedIdentifier: string; } export type SkipReason = string; export interface ResolveSchemaInput { source: string; candidates: CandidateSite[]; /** Absolute path to the file containing the candidates (importer). */ sourceFile: string; /** * Resolves an import specifier (e.g. `'./schemas/signup'`) against the * importing source file and returns an absolute path, or null when the * resolver can't find it. Wraps Vite's `this.resolve` in the caller. */ resolveImport: (specifier: string, importer: string) => Promise; /** Vite root — generate mode may still accept workspace source outside it. */ viteRoot: string; } export interface ResolveSchemaOutput { resolved: ResolvedSite[]; skipped: Array<{ candidate: CandidateSite; reason: SkipReason; }>; } export declare function resolveSchemas(input: ResolveSchemaInput): Promise; //# sourceMappingURL=resolve-schema.d.ts.map