import { IDeliveryClientConfig } from '../../config'; import { IGroupedNetworkResponse, IKontentListAllResponse, IKontentListResponse, IDeliveryNetworkResponse, IListAllQueryConfig, IQueryConfig, SortOrder } from '../../models'; import { QueryService } from '../../services'; import { BaseQuery } from './base-query.class'; export declare abstract class BaseListingQuery extends BaseQuery { protected config: IDeliveryClientConfig; protected queryService: QueryService; constructor(config: IDeliveryClientConfig, queryService: QueryService); /** * Empty filter condition * @param element Element with empty value */ emptyFilter(element: string): this; /** * Not empty filter condition * @param element Element with non-empty value */ notEmptyFilter(element: string): this; /** * Equals filter condition * @param element Element to filter. Example: 'elements.movie' * @param value Value to match. Example: 'Kingsman' */ equalsFilter(element: string, value: string): this; /** * Not equals filter condition * @param element Element to filter. Example: 'elements.movie' * @param value Value to match. Example: 'Kingsman' */ notEqualsFilter(element: string, value: string): this; /** * All filter * @param element Element to filter. * @param values Values */ allFilter(element: string, values: string[]): this; /** * Any filter * @param element Element to filter. * @param values Values */ anyFilter(element: string, values: string[]): this; /** * Contains filter * @param element Element to filter. * @param values Values */ containsFilter(element: string, values: string[]): this; /** * Greater then filter * @param element Element to filter. * @param value Value */ greaterThanFilter(element: string, value: string): this; /** * Greater then or equals filter * @param element Element to filter. * @param value Value */ greaterThanOrEqualFilter(element: string, value: string): this; /** * In filter * @param element Element to filter. * @param values Values */ inFilter(element: string, values: string[]): this; /** * Not in filter * @param element Element to filter. * @param values Values */ notInFilter(element: string, values: string[]): this; /** * Less then filter * @param element Element to filter. * @param value Value */ lessThanFilter(element: string, value: string): this; /** * @param element Element to filter. * @param value Value */ lessThanOrEqualFilter(element: string, value: string): this; /** * @param element Element to filter. * @param lowerValue Lower value of range (e.g. 2) * @param higherValue Higher value of range (e.g. 10) */ rangeFilter(element: string, lowerValue: number, higherValue: number): this; /** * Limits the number of items returned by query * @param limit Number of items to load */ limitParameter(limit: number): this; /** * Orders query based on given element and sort order * @param element Element by which to order * @param sortOrder Asc/Desc order type */ orderParameter(element: string, sortOrder: SortOrder): this; /** * Sets descending order on given element * @param element Element by which to order */ orderByDescending(element: string): this; /** * Sets Ascending order on given element * @param element Element by which to order */ orderByAscending(element: string): this; /** * Skips the selected number of items * @param skip Number of items to skip */ skipParameter(skip: number): this; /** * Sets continuation token header */ withContinuationToken(token: string): this; /** * Query to get all items. Uses paging data and may execute multiple HTTP requests depending on number of items */ toAllPromise(queryAllConfig?: IListAllQueryConfig): Promise>; protected abstract allResponseFactory(items: any[], responses: IDeliveryNetworkResponse[]): TAllResponse; }