import { Query } from '../../../../query/domain';
import { ConnectionConfig, Connection } from '../../../domain';
import { OrmH3lp } from '../../../../shared/infrastructure';
import { Parameter } from '3xpr';
import { MappingConfigService, Data } from 'lambdaorm-base';
import { DialectService } from '../../../../language/domain';
export declare abstract class ConnectionAdapter implements Connection {
    readonly id: string;
    readonly cnx: any;
    readonly pool: any;
    protected readonly helper: OrmH3lp;
    inTransaction: boolean;
    maxChunkSizeOnSelect: number;
    maxChunkSizeIdsOnSelect: number;
    maxChunkSizeOnBulkInsert: number;
    constructor(id: string, cnx: any, pool: any, helper: OrmH3lp);
    get config(): ConnectionConfig;
    end(): Promise<void>;
    protected arrayToRows(mapping: MappingConfigService, dialect: DialectService, query: Query, array: any[]): any[];
    protected dataToParameters(mapping: MappingConfigService, dialect: DialectService, query: Query, data: Data): Parameter[];
    protected writeDateTime(value: any, mapping: MappingConfigService, dialect: DialectService): any;
    writeDate(value: any, mapping: MappingConfigService, dialect: DialectService): any;
    writeTime(value: any, mapping: MappingConfigService, dialect: DialectService): any;
    abstract select(mapping: MappingConfigService, dialect: DialectService, query: Query, data: Data): Promise<any>;
    abstract insert(mapping: MappingConfigService, dialect: DialectService, query: Query, data: Data): Promise<any>;
    abstract insertConditional(mapping: MappingConfigService, dialect: DialectService, query: Query, data: Data): Promise<any>;
    abstract bulkInsert(mapping: MappingConfigService, dialect: DialectService, query: Query, array: any[]): Promise<any[]>;
    abstract update(mapping: MappingConfigService, dialect: DialectService, query: Query, data: Data): Promise<number>;
    abstract upsert(mapping: MappingConfigService, dialect: DialectService, query: Query, data: Data): Promise<any>;
    abstract delete(mapping: MappingConfigService, dialect: DialectService, query: Query, data: Data): Promise<number>;
    abstract merge(mapping: MappingConfigService, dialect: DialectService, query: Query, data: Data): Promise<any>;
    abstract bulkMerge(mapping: MappingConfigService, dialect: DialectService, query: Query, array: any[]): Promise<any[]>;
    abstract execute(query: Query): Promise<any>;
    abstract executeDDL(query: Query): Promise<any>;
    abstract executeSentence(sentence: any): Promise<any>;
    abstract beginTransaction(): Promise<void>;
    abstract commit(): Promise<void>;
    abstract rollback(): Promise<void>;
    bulkDelete(_mapping: MappingConfigService, _dialect: DialectService, _query: Query, _array: any[]): Promise<number>;
    bulkUpdate(_mapping: MappingConfigService, _dialect: DialectService, _query: Query, _array: any[]): Promise<number>;
    truncateEntity(_mapping: MappingConfigService, query: Query): Promise<any>;
    createEntity(_mapping: MappingConfigService, query: Query): Promise<any>;
    createSequence(_mapping: MappingConfigService, query: Query): Promise<any>;
    createFk(_mapping: MappingConfigService, query: Query): Promise<any>;
    createIndex(_mapping: MappingConfigService, query: Query): Promise<any>;
    alterProperty(_mapping: MappingConfigService, query: Query): Promise<any>;
    addProperty(_mapping: MappingConfigService, query: Query): Promise<any>;
    addPk(_mapping: MappingConfigService, query: Query): Promise<any>;
    addUk(_mapping: MappingConfigService, query: Query): Promise<any>;
    addFk(_mapping: MappingConfigService, query: Query): Promise<any>;
    dropSequence(_mapping: MappingConfigService, query: Query): Promise<any>;
    dropEntity(_mapping: MappingConfigService, query: Query): Promise<any>;
    dropProperty(_mapping: MappingConfigService, query: Query): Promise<any>;
    dropPk(_mapping: MappingConfigService, query: Query): Promise<any>;
    dropUk(_mapping: MappingConfigService, query: Query): Promise<any>;
    dropFk(_mapping: MappingConfigService, query: Query): Promise<any>;
    dropIndex(_mapping: MappingConfigService, query: Query): Promise<any>;
    objects(mapping: MappingConfigService, dialect: DialectService, query: Query, data: Data): Promise<any>;
    tables(mapping: MappingConfigService, dialect: DialectService, query: Query, data: Data): Promise<any>;
    views(mapping: MappingConfigService, dialect: DialectService, query: Query, data: Data): Promise<any>;
    partitions(mapping: MappingConfigService, dialect: DialectService, query: Query, data: Data): Promise<any>;
    sequences(mapping: MappingConfigService, dialect: DialectService, query: Query, data: Data): Promise<any>;
    foreignKeys(mapping: MappingConfigService, dialect: DialectService, query: Query, data: Data): Promise<any>;
    primaryKeys(mapping: MappingConfigService, dialect: DialectService, query: Query, data: Data): Promise<any>;
    uniqueKeys(mapping: MappingConfigService, dialect: DialectService, query: Query, data: Data): Promise<any>;
    indexes(mapping: MappingConfigService, dialect: DialectService, query: Query, data: Data): Promise<any>;
}
