import type { GeneratorBundle } from '@baseplate-dev/sync'; import type { ProjectDefinitionContainer } from '#src/definition/project-definition-container.js'; import type { AppConfig, AppEntryType, ProjectDefinition } from '#src/schema/index.js'; export interface AppCompiler { addChildrenToFeature: (featureId: string, children: Record) => void; getChildrenForFeature: (featureId: string) => Record; addRootChildren: (children: Record) => void; getRootChildren: () => Partial>; } export declare function createAppCompiler(): AppCompiler; interface PluginAppCompilerOptions { appDefinition: TAppDefinition; appCompiler: AppCompiler; projectDefinition: ProjectDefinition; definitionContainer: ProjectDefinitionContainer; } export interface PluginAppCompiler { pluginKey: string; appType: AppEntryType; compile: (options: PluginAppCompilerOptions) => void; } export declare function pluginAppCompiler(options: PluginAppCompiler): PluginAppCompiler; /** * Spec for registering app compilers */ export declare const appCompilerSpec: import("../index.js").PluginSpec<{ compilers: import("@baseplate-dev/utils").ArrayContainer>; }, { getAppCompilers: (appType: AppEntryType) => PluginAppCompiler[]; }>; export {}; //# sourceMappingURL=app-compiler-spec.d.ts.map