import { Knex } from 'knex'; import { UserFieldDefinition } from './user-extension.js'; /** * Options for a migration operation */ export interface MigrationOptions { tableName?: string; transaction?: boolean; } /** * Options for adding columns to the user table */ export interface AddColumnsOptions extends MigrationOptions { fields: UserFieldDefinition[]; } /** * Options for renaming a column in the user table */ export interface RenameColumnOptions extends MigrationOptions { oldName: string; newName: string; } /** * Options for modifying a column in the user table */ export interface ModifyColumnOptions extends MigrationOptions { field: UserFieldDefinition; oldName?: string; } /** * Options for dropping columns from the user table */ export interface DropColumnsOptions extends MigrationOptions { columnNames: string[]; } /** * Options for data migration */ export interface DataMigrationOptions extends MigrationOptions { transform: (row: Record) => Record; batchSize?: number; } /** * Adds columns to the user table * @param knex Knex instance * @param options Options for adding columns * @returns Promise that resolves when the operation is complete */ export declare function addColumns(knex: Knex, options: AddColumnsOptions): Promise; /** * Renames a column in the user table * @param knex Knex instance * @param options Options for renaming a column * @returns Promise that resolves when the operation is complete */ export declare function renameColumn(knex: Knex, options: RenameColumnOptions): Promise; /** * Modifies a column in the user table * @param knex Knex instance * @param options Options for modifying a column * @returns Promise that resolves when the operation is complete */ export declare function modifyColumn(knex: Knex, options: ModifyColumnOptions): Promise; /** * Drops columns from the user table * @param knex Knex instance * @param options Options for dropping columns * @returns Promise that resolves when the operation is complete */ export declare function dropColumns(knex: Knex, options: DropColumnsOptions): Promise; /** * Performs a data migration on the user table * @param knex Knex instance * @param options Options for data migration * @returns Promise that resolves when the operation is complete */ export declare function migrateData(knex: Knex, options: DataMigrationOptions): Promise; //# sourceMappingURL=migrations.d.ts.map