import type { ObjectLiteral, SelectQueryBuilder } from 'typeorm';
import type { QueryFieldsApplyOptions, QueryFieldsApplyOutput } from './type';
/**
 * Apply parsed fields parameter data on the db query.
 *
 * @param query
 * @param data
 */
export declare function applyQueryFieldsParseOutput<T extends ObjectLiteral = ObjectLiteral>(query: SelectQueryBuilder<T>, data: QueryFieldsApplyOutput, options?: QueryFieldsApplyOptions<T>): import("rapiq").FieldsParseOutput;
/**
 * Apply raw fields parameter data on the db query.
 *
 * @param query
 * @param data
 * @param options
 */
export declare function applyQueryFields<T extends ObjectLiteral = ObjectLiteral>(query: SelectQueryBuilder<T>, data: unknown, options?: QueryFieldsApplyOptions<T>): QueryFieldsApplyOutput;
/**
 * Apply raw fields parameter data on the db query.
 *
 * @param query
 * @param data
 * @param options
 */
export declare function applyFields<T extends ObjectLiteral = ObjectLiteral>(query: SelectQueryBuilder<T>, data: unknown, options?: QueryFieldsApplyOptions<T>): QueryFieldsApplyOutput;
