import { Context } from '../context.js'; import { runPhase } from '../runner.js'; import { runSetupChecks } from './setup-checks.js'; import type { DatabaseAdapterId, PackageManager, Phase, PhaseId } from '../types.js'; export interface SetupOptions { noSeedAdmin?: boolean; noSeedDocs?: boolean; apply?: boolean; dryRun?: boolean; yes?: boolean; reset?: boolean; resetIMeanIt?: boolean; force?: boolean; database?: DatabaseAdapterId; pm?: PackageManager; quiet?: boolean; noColor?: boolean; } export interface SetupFlowDependencies { runPhase: typeof runPhase; runChecks: typeof runSetupChecks; preflightPhase: Phase; dbPhase: Phase; dbInitPhase: Phase; seedAdminPhase: Phase; seedDocsPhase: Phase; } export type SetupFlowResult = { state: 'done'; } | { state: 'halted'; stage: PhaseId | 'checks'; error?: Error; }; /** * Post-manual-config flow: prepare the database and (optionally) seed * the super-admin and example docs. Skips every phase that mutates * project files (env, deps, wire, routes, scaffold, ui) — those are * assumed to be in place already. * * Runs db → db-init → seed-admin → seed-docs, honouring `--no-seed-*` * toggles. Reuses the same Phase + runner machinery as `byline init`. */ export declare function runSetup(opts: SetupOptions): Promise; /** * Execute the setup phases around the adapter-aware manual-install checks. * Keeping this orchestration separate from process construction makes the * safety ordering directly testable: * * preflight → database selection/connection → dependency + env checks * → database initialization → optional seeds. */ export declare function runSetupFlow(ctx: Context, opts: Pick, dependencies?: SetupFlowDependencies): Promise; //# sourceMappingURL=setup.d.ts.map