import { MySqlPreparedQueryConfig } from "../session.cjs";
import { MySqlRaw } from "../query-builders/raw.cjs";
import { MySqlEffectPreparedQuery } from "./session.cjs";
import { entityKind } from "../../entity.cjs";
import { Query, SQL, SQLWrapper } from "../../sql/sql.cjs";
import { RunnableQuery } from "../../runnable-query.cjs";
import { QueryEffectHKTBase, QueryEffectKind } from "../../effect-core/query-effect.cjs";

//#region src/mysql-core/effect/raw.d.ts
interface MySqlEffectRaw<TResult, TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase> extends MySqlRaw<TResult>, QueryEffectKind<TEffectHKT, TResult>, RunnableQuery<TResult, 'mysql'>, SQLWrapper {}
declare class MySqlEffectRaw<TResult, TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase> extends MySqlRaw<TResult> implements RunnableQuery<TResult, 'mysql'>, SQLWrapper {
  static readonly [entityKind]: string;
  protected prepared: MySqlEffectPreparedQuery<MySqlPreparedQueryConfig & {
    execute: TResult;
  }, TEffectHKT>;
  constructor(prepared: MySqlEffectPreparedQuery<MySqlPreparedQueryConfig & {
    execute: TResult;
  }, TEffectHKT>, sql: SQL, query: Query);
  execute(placeholderValues?: Record<string, unknown>): QueryEffectKind<TEffectHKT, TResult>;
  _prepare(): MySqlEffectPreparedQuery<MySqlPreparedQueryConfig & {
    execute: TResult;
  }, TEffectHKT>;
}
//#endregion
export { MySqlEffectRaw };
//# sourceMappingURL=raw.d.cts.map