import type { PrismaClient, MigrationFile } from "../../../types";
import { Migrations } from "../../../migrations";
import { type PromptChoice } from "../../../utils/prompts";
export interface DownDependencies {
    getSteps: (maxSteps: number) => Promise<number>;
    getMigrationId: (choices: PromptChoice[]) => Promise<string>;
    getMode: () => Promise<string>;
    confirmReset: () => Promise<boolean>;
}
export declare function createDefaultDependencies(): DownDependencies;
export declare function down(prisma: PrismaClient, steps?: number, config?: {
    migrationsDir?: string;
}, interactive?: boolean): Promise<number>;
export declare function interactiveDown(migrations: Migrations, deps?: DownDependencies): Promise<number>;
export declare function runRollbackForMode(mode: string, migrations: Migrations, applied: MigrationFile[], deps?: DownDependencies): Promise<number>;
export declare function rollbackOne(migrations: Migrations): Promise<number>;
export declare function rollbackAll(migrations: Migrations, deps?: DownDependencies): Promise<number>;
export declare function rollbackSteps(migrations: Migrations, applied: MigrationFile[], deps?: DownDependencies): Promise<number>;
export declare function rollbackToSpecific(migrations: Migrations, applied: MigrationFile[], deps?: DownDependencies): Promise<number>;
export declare function showRollbackTable(count: number): void;
//# sourceMappingURL=index.d.ts.map