import { Connection } from './lib/connection.types.cjs';
export { AS400Message, DataQOptions, DataQReadOptions, JustNameMessageQ, JustPathMessageQ, KeyedDataQ, MessageFileHandler, MessageFileHandlerOptions, MessageFileReadOptions, MessageQ, MessageQOptions, MessageQReadOptions, PgmParamStructType, PgmParamType, PgmParamType1, PgmParamType2, ProgramDefinitionOptions, TransactionFun } from './lib/connection.types.cjs';
import { InMemoryConnection } from './lib/inMemoryConnection.cjs';
import { Logger } from './lib/logger.cjs';
export { BLOB, BaseConnection, BatchUpdate, CLOB, Close, CreateReadStream, CreateWriteStream, Execute, InsertAndGetId, InsertList, Metadata, Param, Query, QueryOptions, Statement, Update, WriteStreamOptions } from './lib/baseConnection.types.cjs';
export { Ifs, IfsFileMetadata } from './lib/ifs/types.cjs';
export { Readable, Writable } from 'stream';
import './java/index.cjs';
import './java/JT400.cjs';

type JT400Options = {
    logger?: Logger;
};
declare function pool(config?: {}, options?: JT400Options): Connection;
declare function connect(config?: {}, options?: JT400Options): Promise<Connection>;
declare function useInMemoryDb(options?: JT400Options): InMemoryConnection;

export { Connection, InMemoryConnection, type JT400Options, Logger, connect, pool, useInMemoryDb };
