///
import * as oracledb from 'oracledb';
import IConnection = oracledb.IConnection;
import IExecuteReturn = oracledb.IExecuteReturn;
import IExecuteOptions = oracledb.IExecuteOptions;
import IResultSet = oracledb.IResultSet;
import IConnectionAttributes = oracledb.IConnectionAttributes;
import { IConnectionPool } from "oracledb";
import { IDbService } from "./db_service";
export declare const DB_CONNECT_ERROR: string;
export declare const DB_ORACLE_ERROR: string;
export declare const DB_ORACLE_FETCH_ERROR: string;
export declare const DB_ORACLE_CLOSE_ERROR: string;
export declare const DB_ORACLE_RELEASE_ERROR: string;
export declare const DB_ORACLE_EXECUTE_ERROR: string;
export declare class OracleService implements IDbService {
poolMax: number;
maxQueryAttempts: number;
protected connectionParams: IConnectionAttributes;
protected options: IExecuteOptions;
protected pool: IConnectionPool;
protected _queryFailsCounter: any;
constructor(connectionParams: IConnectionAttributes, options?: IExecuteOptions);
run(query: string, params?: Array, options?: IExecuteOptions): Promise;
getManyRows(query: string, params?: Array): Promise;
fetchRows(resultSet: IResultSet, numRows: number): Promise>;
closeResultSet(resultSet: IResultSet, connection?: IConnection): Promise;
getRows(query: string, params?: Array, options?: IExecuteOptions): Promise>;
getRow(query: string, params?: Array, options?: IExecuteOptions): Promise;
mustGetRow(errorCode: string, query: string, params?: Array, options?: IExecuteOptions): Promise;
protected _connect(): Promise;
protected _disconnect(connection: IConnection): Promise;
protected _run(query: string, params?: object | Array, options?: IExecuteOptions): Promise;
protected _needRetry(runArguments: IArguments, error: any): boolean;
}