import type { PreparedClientMigrations } from './executor.js'; /** * Move the staged migration tree into the project. * * This is the only step that touches the user's real `quickback/drizzle/`, and * it runs from the executor's `onPrepared` — after generation succeeded and * after runtime output is ready — so a failed compile never leaves a * half-written migration tree behind. * * The write is purely ADDITIVE by construction, which is what makes a plain * mirror safe here rather than a diff-and-delete: * * - `assertPreexistingFilesPreserved` has already thrown if generation * modified or removed any pre-existing file other than a `meta/_journal.json`. * So every staged path is either new, or a journal whose rewrite is expected. * - Files the postprocessors swept were created during THIS run (a superseded * drizzle-kit emit); they never existed in the project, so there is nothing * to delete on the way in. A sweep that targeted a genuinely pre-existing * file trips the assertion instead of silently deleting applied history — * the conservative direction, and what `quickback migrations doctor` is for. * * Consequence: this function never deletes. If you later add a postprocessor * that must remove applied history, it needs its own reviewed path — do not * relax the assertion to let it through here. */ export interface CommitStagedMigrationsResult { /** Project-relative paths written, sorted. */ written: string[]; /** Paths that are new to the project (subset of `written`). */ created: string[]; } export declare function commitStagedMigrations(prepared: PreparedClientMigrations, options: { projectRoot: string; migrationRootPath?: string; }): Promise; /** Normalize a path for display in CLI output. */ export declare function toDisplayPath(path: string): string; //# sourceMappingURL=commit.d.ts.map