import { FieldKeyValue, ParametersQuery } from "./crudOperationsTypes";
import BaseUtils from "./baseUtils";
export default class QueryUtils extends BaseUtils {
    /**
     * Construye la parte de la URL para el método QUERY
     * @param parameters
     * @returns
     */
    buildQuery<T, D>(parameters?: ParametersQuery): string;
    /**
     * Construye la parte de la URL para el método READ
     * @param parameters
     * @returns
     */
    buildReadQuery(keys: FieldKeyValue): string;
    /**
     * Construye los filtros
     * @param filters
     * @returns
     */
    private buildFilter;
    /**
     * Construye la condición por campo
     * @param filter
     * @returns
     */
    private buildFieldCondition;
    /**
     * Determina el tipo del campo para la libreria del odata-query
     * @param fieldName
     * @returns
     */
    determineType(fieldName: string): string | undefined;
    /**
     * Convierte el enum de las opciones a text
     * @param option
     * @returns
     */
    private convertFilterOption2Text;
    /**
     * Agrupa los filtros por campos
     * @param xs
     * @param key
     * @returns
     */
    private groupBy;
}
//# sourceMappingURL=queryUtils.d.ts.map