import { type DbExec } from "./client.js"; type NitroPluginDef = (nitroApp: any) => void | Promise; export declare function isDuplicateColumnError(err: unknown): boolean; /** True when the connected Postgres role cannot apply the migration. */ export declare function isPermissionError(err: unknown): boolean; export declare function splitSqlStatements(sql: string): string[]; export interface RunMigrationsOptions { runInServerlessRequest?: boolean; table: string; } export type MigrationSql = string | { postgres?: string; }; export declare const MIGRATION_DEFERRED: unique symbol; export declare function deferMigration(): typeof MIGRATION_DEFERRED; export type MigrationRunResult = void | typeof MIGRATION_DEFERRED; export interface MigrationEntry { version: number; sql: MigrationSql; name?: string; run?: (exec: DbExec) => Promise; } export type MigrationSource = Array | (() => Array | Promise>); export { withMigrationExecutionRuntime, withMigrationRuntime, } from "./migration-runtime.js"; export declare function runMigrations(migrationSource: MigrationSource, options: RunMigrationsOptions): NitroPluginDef;