import IConnectionConfig from "./IConfig";
import IDrivers from "./IDrivers";
import Drivers from './drivers';
export declare enum ConnectionType {
    hive = "hive",// using hive driver
    firebirdsql = "firebirdsql",// using hive driver
    postgreSql = "postgresql",// using postgre sql driver
    sqlite = "sqlite",// using sqlite driver
    tibero = "tibero",// using tibero driver
    custom = "custom"
}
export default class JdbcDriver<T extends ConnectionType> extends Drivers<T> implements IDrivers {
    protected static connection: any;
    protected type: T;
    constructor(type: T, config: IConnectionConfig<T>);
    get_version: () => string;
    findAll: (tableName: string) => Promise<any>;
    count: (tableName: any) => Promise<any>;
    find: (tableName: string, where?: number | string) => Promise<any>;
    connection_count: () => any;
    connection_details: () => any;
    get_columns: (tableName: string) => Promise<any>;
    get_table_properties: (tableName: string) => Promise<any>;
    sql(sql: string): Promise<any>;
    ddl: (sql: string) => Promise<unknown>;
    protected close: (connObj: any) => Promise<void>;
    protected executeQuery: (sql: any) => Promise<unknown>;
    protected executeUpdate: (sql: any) => Promise<unknown>;
    protected createStatement: () => Promise<unknown>;
    protected open(): Promise<any>;
    private reserveConnection;
    protected is_init: (conn: any) => any;
    protected init(connection: any): Promise<void>;
}
