import type mysql from "mysql2/promise";
import IDatabase from "./interfaces/database";
import { TFieldset, TResponseHeaders } from "./types";
export default class Database implements IDatabase {
    private connection;
    private prefix;
    constructor(connection: mysql.Connection, prefix?: string);
    select<T>(table: string, criteria: TFieldset<T>): Promise<object[]>;
    insert<T>(table: string, data: TFieldset<T>): Promise<TResponseHeaders>;
    update<T>(table: string, criteria: TFieldset<T>, data: TFieldset<T>): Promise<TResponseHeaders>;
    delete<T>(table: string, criteria: TFieldset<T>): Promise<TResponseHeaders>;
    close(): void;
}
