import { IConditionExpr, ILetExpr, ISelectType, LogicalWhereExpr, SortType } from './interface/query.types';
/**
 * Basic definition of Query Class
 * */
export declare abstract class BaseQuery {
    protected _conditions: IConditionExpr;
    protected _collection: string;
    protected constructor(_conditions: IConditionExpr, _collection: string);
    abstract select(value?: ISelectType[] | string | undefined): BaseQuery;
    abstract where(value: LogicalWhereExpr): BaseQuery;
    abstract orderBy(value: Record<string, SortType>): BaseQuery;
    abstract limit(value: number): BaseQuery;
    abstract offset(value: number): BaseQuery;
    abstract let(value: [ILetExpr]): BaseQuery;
    abstract useKeys(value: [string]): BaseQuery;
    abstract build(): string;
}
