/** * `quickback migrate visible-columns` — visible audit columns codemod * (visible-audit-columns-plan.md, Decision 1). * * Rewrites authored feature table files so the compiler-managed audit * columns are DECLARED in source instead of invisibly injected: * * - q DSL files (`q.table(...)` / `feature(...)`): inserts `...q.audit(),` * (and `...q.softDelete(),` unless the file opts into hard deletes) as * the last entries of the columns object. The compiler expands the * spreads to the canonical column lines, so emitted output is unchanged. * - Raw Drizzle files (`pgTable(...)` / `sqliteTable(...)`): splices the * canonical column lines under a `── quickback:audit (compiler-managed) ──` * marker before the columns-object close. * * Idempotent: files that already declare the spreads/columns are skipped. * Hand-declared columns are NEVER rewritten — matching ones are left alone * (the compiler's expansion skips explicit names); divergent ones are * surfaced by `quickback compile` as errors (visible declarations are * required by default; `compiler.features.visibleAuditColumns: false` * downgrades them to warnings). * * Usage: * quickback migrate visible-columns # apply * quickback migrate visible-columns --dry-run # report only */ export declare function migrate(args: string[]): Promise; type CodemodResult = { kind: 'unchanged'; reason: string; } | { kind: 'manual'; reason: string; } | { kind: 'updated'; source: string; detail: string; }; /** * Apply the visible-columns rewrite to one authored file. Exported for tests. */ export declare function applyVisibleColumns(source: string): CodemodResult; /** Context the pure rewrite needs — derived from the filesystem by the driver. */ export interface HelperImportContext { /** Basename of the feature directory (e.g. "applications", "ats-imports"). */ featureDirName: string; /** File bases (no .ts) of files directly at the feature root. */ featureRootFiles: string[]; /** Action file path relative to the feature root, POSIX (e.g. "actions/advance.ts"). */ actionRelPath: string; } /** * Apply the helper-imports rewrite to one action file. Exported for tests. */ export declare function applyHelperImports(source: string, ctx: HelperImportContext): CodemodResult; export {}; //# sourceMappingURL=migrate.d.ts.map