The native transaction object supplied by a configured Drizzle database.
This derives the callback parameter structurally, without importing a
dialect- or version-specific Drizzle type into production source. It keeps
schema/query inference while excluding operations available only on the
outer database (for example SQLite Proxy's batch()).
TDatabase extends { transaction: infer TMethod; } ? TMethod extends (...args: infer TArguments) => unknown ? TArguments[0] extends (transaction: infer TTransaction,...args: never[]) => unknown ? TTransaction : never : never : never