import { MapperTable } from "../mapper-table";
import { ExpressionOrColumn } from "./utils";
import { FieldType } from "./enums/field-type";
import { MetadataTable } from "../metadata-table";
import { QueryBuilderBaseContract } from "../crud/query/query-builder-base-contract";
import { RowMapper } from "./row-mapper";
export declare class RowResult<T> {
    private _valueT;
    private _newable?;
    private _mapper?;
    private _getMapper?;
    private _query?;
    private _databaseHelper;
    constructor(_valueT: T, _newable?: new () => T, _mapper?: MapperTable, _getMapper?: (tKey: (new () => any) | string) => MetadataTable<any>, _query?: QueryBuilderBaseContract<any, any>);
    parse<TReturn>(expression: ExpressionOrColumn<TReturn, T>, type: FieldType): TReturn;
    autoParse<TReturn>(expression: ExpressionOrColumn<TReturn, T>): TReturn;
    get<TReturn>(expression: ExpressionOrColumn<TReturn, T>): TReturn;
    single<TReturn extends string | number | boolean>(): TReturn;
    coalesce<TReturn>(expression: ExpressionOrColumn<TReturn, T>, defaultValue: TReturn): TReturn;
    read<TReader extends any>(typeT: new () => TReader, alias?: string): TReader;
    map(): RowMapper<T>;
    private getMapper;
}
