import { GenerateRule, Request, IRequest } from "../request"; import { RequestInfo } from "../interchange"; import { Header } from "../utils/headers"; export declare class UapiRequest extends Request { /** * Add a custom HTTP header to the request * * @param name Name of a column * @return Updated Request object. */ addHeader(header: Header): Request; /** * Build a fragment of the parameter list based on the list of name/value pairs. * * @param params Parameters to serialize. * @param encoder Encoder to use to serialize the each parameter. * @return Fragment with the serialized parameters */ private _build; /** * Generates the arguments for the request. * * @param params List of parameters to adjust based on the sort rules in the Request. */ private _generateArguments; /** * Generates the sort parameters for the request. * * @param params List of parameters to adjust based on the sort rules in the Request. */ private _generateSorts; /** * Look up the correct name for the filter operator * * @param operator Type of filter operator to use to filter the items * @returns The string counter part for the filter operator. * @throws Will throw an error if an unrecognized FilterOperator is provided. */ private _lookupFilterOperator; /** * Generate the filter parameters if any. * * @param params List of parameters to adjust based on the filter rules provided. */ private _generateFilters; /** * In UAPI, we request the starting record, not the starting page. This translates * the page and page size into the correct starting record. */ private _traslatePageToStart; /** * Generate the pager request parameters, if any. * * @param params List of parameters to adjust based on the pagination rules. */ private _generatePagination; /** * Generate any additional parameters from the configuration data. * * @param params List of parameters to adjust based on the configuration. */ private _generateConfiguration; /** * Create a new uapi request. * * @param init Optional request objects used to initialize this object. */ constructor(init?: IRequest); /** * Generate the interchange object that has the pre-encoded * request using UAPI formatting. * * @param rule Optional parameter to specify a specific Rule we want the Request to be generated for. * @return Request information ready to be used by a remoting layer */ generate(rule?: GenerateRule): RequestInfo; }