export type SchemaEngine = "prisma-orm" | "prisma-next";
export type MigrationCommand = "migrate-deploy" | "db-push" | "prisma-next-init";
export type UnsupportedSchemaTarget = "mongodb" | "mysql" | "sqlite" | "sqlserver" | "cockroachdb";
export interface DetectedSchema {
    engine: SchemaEngine;
    /** Absolute path to `schema.prisma` (Prisma ORM) or the Prisma Next config. */
    path: string;
    command: MigrationCommand;
    /** Prisma ORM only; always `false` for Prisma Next. */
    hasMigrations: boolean;
    target: "postgresql" | "unknown";
}
export interface UnsupportedSchema {
    engine: SchemaEngine;
    path: string;
    target: UnsupportedSchemaTarget;
}
export interface SchemaDetection {
    /** A schema whose migrations can be applied, or `null` if none was found. */
    schema: DetectedSchema | null;
    /** A schema targeting an engine the migration flow does not support. */
    unsupported: UnsupportedSchema | null;
}
/**
 * Walks `appPath` for a Prisma ORM schema or Prisma Next config and returns
 * the migration command that should run against it. Returns a `null` schema
 * when none is found, and reports a non-Postgres schema under `unsupported`
 * so callers can decide how to surface it.
 */
export declare function detectAppSchema(appPath: string, signal?: AbortSignal): Promise<SchemaDetection>;
//# sourceMappingURL=detect-schema.d.ts.map