import { Config, MigrationsConfig } from "../types.js"; export interface MigrationArgsResult { migrationArgs: string[]; cleanup: () => Promise; } export declare function getMigrationFiles(dir: string): string[]; export declare function getNextMigrationFile(nextDir: string): string | null; export declare function validateNextMigrationOrder(chainDirOrFiles: string | string[], nextFile: string): void; export declare function validateMigrationsConfig(migrations: MigrationsConfig, canisterName: string): void; export declare function prepareMigrationArgs(migrations: MigrationsConfig | undefined, canisterName: string, mode: "check" | "build", verbose?: boolean, ignoreLimit?: boolean): Promise; /** * Local chain (+ next) files not yet recorded in the deployed `.most` baseline. */ export declare function getPendingMigrationFiles(migrations: MigrationsConfig, canisterName: string, appliedNames: string[]): string[]; /** * Pending migrations exceed `check-limit` relative to the deployed `.most` baseline. */ export interface CheckLimitPendingIssue { canisterName: string; pending: string[]; checkLimit: number; latestApplied: string | null; } export declare function getCheckLimitPendingIssue(migrations: MigrationsConfig | undefined, canisterName: string, oldMostPath: string, ignoreCheckLimit: boolean): CheckLimitPendingIssue | null; /** Warn on accidental compat pass; fail with this diagnostic when compat already failed. */ export declare function reportCheckLimitPendingIssue(issue: CheckLimitPendingIssue, compatFailed: boolean): void; /** * Absolute paths of chain migration files that `mops lint` should skip, * mirroring the `check-limit` trimming applied to `moc` during `mops check`. * Validates the migrations config along the way, so misconfig surfaces here * just as it does in `mops check` (consistent failure across commands). */ export declare function getTrimmedMigrationFiles(config: Config): Set;