import type { ProjectConventionContribution } from "./project-conventions.js"; export declare const VOYANT_PROJECT_ADMIN_GENERATED_FILE: "admin/project-admin.generated.ts"; export declare const PROJECT_ADMIN_CONVENTION_DIAGNOSTIC_CODES: { readonly PROJECT_ADMIN_DUPLICATE_EXTENSION_ID: "Two project admin entries statically declare the same AdminExtension ID."; readonly PROJECT_ADMIN_DUPLICATE_ENTRY: "Multiple source files were supplied for one project admin entry."; readonly PROJECT_ADMIN_INVALID_ENTRY_PATH: "A project admin source is outside the supported src/admin//index.ts[x] convention."; readonly PROJECT_ADMIN_MISSING_DEFAULT_EXPORT: "A project admin entry has no default export."; }; export type ProjectAdminConventionDiagnosticCode = keyof typeof PROJECT_ADMIN_CONVENTION_DIAGNOSTIC_CODES; export interface ProjectAdminConventionDiagnostic { code: ProjectAdminConventionDiagnosticCode; severity: "error"; message: string; sourcePaths: readonly string[]; extensionId?: string; } export interface ProjectAdminConventionEntry { conventionId: string; /** Statically known only for direct object literals and defineAdminExtension(...) calls. */ extensionId?: string; sourcePath: string; } export interface AnalyzeProjectAdminConventionsInput { projectRoot: string; contributions: readonly ProjectConventionContribution[]; } export interface ProjectAdminConventionAnalysis { entries: readonly ProjectAdminConventionEntry[]; diagnostics: readonly ProjectAdminConventionDiagnostic[]; } export interface ProjectAdminGeneratedFile { path: typeof VOYANT_PROJECT_ADMIN_GENERATED_FILE; contents: string; } export interface CompiledProjectAdminConventions { entries: readonly ProjectAdminConventionEntry[]; file: ProjectAdminGeneratedFile; } export declare class ProjectAdminConventionError extends Error { readonly diagnostics: readonly ProjectAdminConventionDiagnostic[]; constructor(diagnostics: readonly ProjectAdminConventionDiagnostic[]); } /** Analyze project-admin entries without importing or executing project source. */ export declare function analyzeProjectAdminConventions(input: AnalyzeProjectAdminConventionsInput): Promise; /** Analyze and generate the deterministic client module consumed by later artifact stages. */ export declare function compileProjectAdminConventions(input: AnalyzeProjectAdminConventionsInput): Promise; export declare function generateProjectAdminModule(entries: readonly ProjectAdminConventionEntry[]): string;