package com.andrewkydev.database; import com.andrewkydev.database.query.QueryRunner; import com.andrewkydev.database.query.Transaction; import com.andrewkydev.database.schema.Schema; import com.andrewkydev.database.orm.EntityManager; import java.util.concurrent.CompletableFuture; public interface DatabaseApi extends AutoCloseable { Schema schema(); QueryRunner query(); EntityManager orm(); Transaction beginTransaction(); CompletableFuture beginTransactionAsync(); @Override void close(); }