import type { FieldsParseOutput, FiltersParseOutput, PaginationParseOutput, RelationsParseOutput, SortParseOutput } from '../parameter'; import type { ParseInput, ParseParametersOutput, QueryParserOptions } from './types'; import type { ObjectLiteral } from '../types'; export declare class QueryParser { protected options: QueryParserOptions; constructor(options?: QueryParserOptions); parse(input: ParseInput): ParseParametersOutput; /** * Parse relations input parameter. * * @param input */ parseRelations(input: unknown): RelationsParseOutput; /** * Parse fields input parameter. * * @param input * @param relations */ parseFields(input: unknown, relations?: RelationsParseOutput): FieldsParseOutput; /** * Parse filter(s) input parameter. * * @param input * @param relations */ parseFilters(input: unknown, relations?: RelationsParseOutput): FiltersParseOutput; /** * Parse pagination input parameter. * * @param input */ parsePagination(input: unknown): PaginationParseOutput; /** * Parse sort input parameter. * * @param input * @param relations */ parseSort(input: unknown, relations?: RelationsParseOutput): SortParseOutput; printOptions(): void; protected extendParameterOptions(data: T): T; } //# sourceMappingURL=parser.d.ts.map