import { type MigrationInventory } from './inventory.js'; import { type MigrationLockOptions } from './lock.js'; import { type ClientMigrationPlanValidationOptions } from './plan.js'; import type { ClientMigrationPlan, ClientMigrationPostprocessor, ClientMigrationTarget, MigrationCommandRunner, MigrationInputFile } from './types.js'; export interface MigrationPostprocessorContext { target: ClientMigrationTarget; stagingRoot: string; outputRoot: string; migrationRoot: string; inventoryBeforeTarget: MigrationInventory; inventoryAfterDrizzle: MigrationInventory; newlyCreatedPaths: readonly string[]; } export type MigrationPostprocessorHandler = (context: MigrationPostprocessorContext) => Promise; export interface PreparedClientMigrations { plan: ClientMigrationPlan; stagingRoot: string; outputRoot: string; migrationRoot: string; sourceMigrationRoot: string; before: MigrationInventory; after: MigrationInventory; newlyCreatedPaths: readonly string[]; } export interface ExecuteClientMigrationPlanOptions { projectRoot: string; migrationRootPath?: string; outputRootPath?: string; plan: unknown; inputs?: readonly MigrationInputFile[]; runner?: MigrationCommandRunner; drizzleExecutable?: string; postprocessors?: Partial>; planValidation?: Omit; lock?: MigrationLockOptions; signal?: AbortSignal; env?: NodeJS.ProcessEnv; onPrepared?: (prepared: PreparedClientMigrations) => Promise; } export interface ClientMigrationExecutionSummary { beforeDigest: string; afterDigest: string; newlyCreatedPaths: readonly string[]; } /** * Execute Drizzle only in an isolated, same-filesystem workspace. This * foundation deliberately does not replace the user's migration tree; the * compile integration must do that atomically from `onPrepared` after runtime * output is also ready. */ export declare function executeClientMigrationPlan(options: ExecuteClientMigrationPlanOptions & { onPrepared: (prepared: PreparedClientMigrations) => Promise; }): Promise; export declare function executeClientMigrationPlan(options: Omit, 'onPrepared'>): Promise; //# sourceMappingURL=executor.d.ts.map