import { DatabaseBinding } from "./bindings.mjs";
import { Context, Effect, Layer } from "effect";
//#region src/db/drizzle-kit.d.ts
declare const DrizzleKitError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
  readonly _tag: "DrizzleKitError";
} & Readonly<A>;
declare class DrizzleKitError extends DrizzleKitError_base<{
  readonly command: string;
  readonly message: string;
  readonly exitCode: number | undefined;
}> {}
interface DrizzleKitService {
  readonly studio: (binding: DatabaseBinding) => Effect.Effect<void, DrizzleKitError>;
  readonly migrate: (binding: DatabaseBinding) => Effect.Effect<void, DrizzleKitError>;
}
declare const DrizzleKit_base: Context.ServiceClass<DrizzleKit, "everything-dev/DrizzleKit", DrizzleKitService>;
declare class DrizzleKit extends DrizzleKit_base {}
interface DrizzleKitOptions {
  readonly projectDir: string;
  readonly onLog?: (message: string) => void;
}
declare const makeDrizzleKitLive: (options: DrizzleKitOptions) => Layer.Layer<DrizzleKit>;
//#endregion
export { DrizzleKit, DrizzleKitError, DrizzleKitOptions, DrizzleKitService, makeDrizzleKitLive };
//# sourceMappingURL=drizzle-kit.d.mts.map