import type { AppCategory, AppManifest, SplashScreenSpec } from '@ankhorage/contracts'; import type { AppDeployManifest, AppDeployTargets } from '@ankhorage/contracts/deploy'; import type { ExpoRuntimePlan } from '@ankhorage/expo-runtime/planning'; import { type ProjectTemplateSelection } from '../templateRegistry'; import { type ZoraExtensionDefinition } from '../zoraExtensions'; import { type GeneratedAuthProvider, type GeneratedStorageProvider } from './templates'; interface ScaffoldProjectOptions { includeStudio?: boolean; authProvider?: GeneratedAuthProvider; storageProvider?: GeneratedStorageProvider; splashScreen?: SplashScreenSpec | null; zoraExtensions?: readonly ZoraExtensionDefinition[]; runtimePlan?: ExpoRuntimePlan; targets?: AppDeployTargets; } export declare class ProjectScaffolder { private readonly rootPath; constructor(rootPath: string); scaffoldProject(projectPath: string, appName: string, slug: string, options?: ScaffoldProjectOptions): Promise; syncProjectScaffold(projectPath: string, appName: string, slug: string, options?: ScaffoldProjectOptions): Promise; getTemplate(selection: ProjectTemplateSelection): AppManifest; finalizeManifest(projectPath: string, templateData: AppManifest, appName: string, slug: string, category: AppCategory, deploy: AppDeployManifest): Promise; private writeAppConfig; private syncAndroidRunScript; private removeGeneratedExpoOverrides; private writePackageJson; private readPackageJson; private writeTsConfig; private writeEslintConfig; private writePrettierConfig; private ensureExpoGitIgnore; private copyDefaultAssets; } export {}; //# sourceMappingURL=scaffolder.d.ts.map