import { ConnStr } from './ConnStr';
import { Database } from './Database';
import { DB2Error } from './DB2Error';
import { ODBC } from './ODBC';
import { PoolOptions } from './PoolOptions';
export declare class Pool {
    options: PoolOptions;
    maxPoolSize: number;
    index: number;
    availablePool: object;
    usedPool: object;
    poolSize: number;
    odbc: ODBC;
    constructor(options?: PoolOptions);
    open(connStr: string, cb: (err: DB2Error | null, db: Database) => void): null;
    open(connStr: string): Promise<Database>;
    openSync(connStr: string): Database;
    poolCloseSync(): void;
    poolClose(cb: (err: null) => void): void;
    poolClose(): Promise<true>;
    init(count: number, connStr: string): DB2Error | true;
    initAsync(count: number, connStr: string | ConnStr, cb: (err: Error | null) => void): DB2Error | true;
    initAsync(count: number, connStr: string | ConnStr): Promise<true>;
    setMaxPoolSize(size: number): true;
    setConnectTimeout(timeout: number): true;
    cleanup(connStr: string): boolean | undefined;
    close(cb: () => void): void;
    close(): Promise<true>;
    closeSync(): null | true;
}
