import { SORT_ORDER } from "../constants"; export declare class QueryBuilder { readonly REV_INCLUDE_KEYWORD = "_revinclude"; readonly INCLUDE_KEYWORD = "_include"; readonly SORT_KEYWORD = "_sort"; readonly WILDCARD_ASTERIK = "*"; readonly EQUALS = "="; readonly COLON = ":"; readonly QUERY_DELIMETER = "&"; readonly COMMA = ","; private baseResource; private singularQueries; private sortQueries; /** * @returns base resource for the query */ getBaseResource(): String; /** * @param resourceType Base ResourceType for the query * sets base resource type for the query * i.e. which resource the query will performed for */ setBaseResource(resourceType: String): this; /** * @param searchParameter SearchParameter reference to targeted resource */ include(searchParameter: String): this; /** * @param resourceType Source ResourceType * @param searchParameter SearchParameter reference from target resource to baseResource */ revinclude(resourceType: String, searchParameter: String): this; /** * _include all references in query */ includeAll(): this; /** * _revinclude all references in query */ revincludeAll(): this; /** * @param searchParameter search parameter for the element to sort on * @param sortOrder ASCENDING or DESCENDING */ sort(searchParameter: String, sortOrder: SORT_ORDER): this; /** * Resets queries to it empty state */ resetQuery(): this; /** * @returns complete generated query with encoded parameter values */ getCompleteUrl(): String; /** * @returns complete generated query with decoded parameter values */ getCompleteUrlDecoded(): String; private createSortQuery; }