import { Model } from '../../core'; import { ExpandClause, FilterClause, FilterCondition, IParsedQuery, IQueryParseOptions, OrderByClause, SelectField } from '../../types'; declare class QueryParser { private readonly options; private readonly model; queryString: string; baseTableName: string; select: SelectField[]; orderBy: OrderByClause[]; expand: ExpandClause[]; filter?: FilterClause | FilterCondition; skip: number; top: number; apply?: any; count: boolean; compute: any[]; constructor(queryString: string, model: typeof Model, options?: IQueryParseOptions); private parse; private getSearchParams; private processRawSearchParams; private validateQueryParameters; private validateBasicParameters; private validateSkipAndTop; setSelect(select: SelectField[]): void; setOrderBy(orderBy: OrderByClause[]): void; setExpand(expand: ExpandClause[]): void; setFilter(filter: FilterClause): void; setTop(top: number): void; setSkip(skip: number): void; getParams(): IParsedQuery; } export { QueryParser };