import { MapperTable } from "../../mapper-table";
import { RowResult } from "../../core/row-result";
import { DatabaseResult } from "../../definitions/database-definition";
import { MetadataTable } from "../../metadata-table";
import { QueryBuilderBaseContract } from "./query-builder-base-contract";
export declare class QueryReadableBuilderBase {
    enableLog: boolean;
    constructor(enableLog?: boolean);
    toCast(cursor: DatabaseResult): any;
    map(cursor: DatabaseResult, mapper: (row: any) => any): any;
    mapper(cursor: DatabaseResult, mapperTable: MapperTable, mapper: (row: RowResult<any>) => any, getMapper: (tKey: (new () => any) | string) => MetadataTable<any>, query: QueryBuilderBaseContract<any, any>, newable: new () => any): any[];
    read<TReader>(cursor: DatabaseResult, newable: new () => TReader, mapperTable: MapperTable): TReader[];
    readCursor<TReader>(cursor: DatabaseResult, newable: new () => TReader, mapperTable: MapperTable): TReader[];
    forCursor(cursor: DatabaseResult, forRow: (row: any) => void): void;
    protected log(log: any): void;
}
