export interface ProjectComponentOptions { componentName?: string; propsParam?: string; } export interface BuildProjectOptions { root: string; outDir?: string; validate?: boolean; components?: Readonly>; } export interface BuiltProjectFile { source: string; output: string; componentName: string; } export interface ProjectBuildResult { root: string; outDir: string; generated: BuiltProjectFile[]; removed: string[]; validatedNativeTsrx: string[]; manifestPath: string; } export interface WatchProjectOptions extends BuildProjectOptions { debounceMs?: number; onBuild?: (result: ProjectBuildResult) => void; onError?: (error: unknown) => void; } export interface ProjectWatchSession { /** Settles after the initial build succeeds or fails. Later failures use `onError`. */ readonly ready: Promise; close(): Promise; } export declare function buildBeastProject(options: BuildProjectOptions): Promise; /** Watch a source tree and serialize incremental full-project rebuilds. */ export declare function watchBeastProject(options: WatchProjectOptions): ProjectWatchSession; export declare function resolveProjectPath(root: string, configuredPath: string): string; //# sourceMappingURL=project.d.ts.map