import { OrderedQuery } from './OrderedQuery'; import { ODataFilter } from './filter/ODataFilter'; import { IPipeble } from './core/IPipeble'; import { IQuery, IQueryExpression } from './core/IQuery'; import { Expand } from './core/IExpand'; import { IQueryProvider } from './core/IQueryProvider'; import { Order } from './core/IOrderedQuery'; import { IExpressionable } from './core'; export declare class ODataQuery implements IQuery, IPipeble, IExpressionable { protected parent: ODataQuery; protected provider: IQueryProvider; private $expand; private $skip; private $top; private $count; private $search; private $select; private $orderBy; private $filter; /** * @constructor * @param {ODataQuery} parent */ constructor(parent?: ODataQuery); /** * Cast plain query to ODataQuery * @param query * @param {ODataQuery} parent * @returns {ODataQuery} */ static cast(query: any, parent: ODataQuery): ODataQuery; /** * Sets top operator for current query * @param {string | number} top * @link http://docs.oasis-open.org/odata/odata/v4.01/cs01/part1-protocol/odata-v4.01-cs01-part1-protocol.html#sec_SystemQueryOptiontop * @returns {this} */ top(top: string | number): this; /** * Sets skip operator for current query * @param {string | number} skip * @link http://docs.oasis-open.org/odata/odata/v4.01/cs01/part1-protocol/odata-v4.01-cs01-part1-protocol.html#sec_SystemQueryOptionskip * @returns {this} */ skip(skip: string | number): this; /** * Sets count paramter for current query * @link http://docs.oasis-open.org/odata/odata/v4.01/cs01/part1-protocol/odata-v4.01-cs01-part1-protocol.html#sec_SystemQueryOptioncount * @returns {this} */ count(): this; /** * Applies multiple operators for current query * @param {Array} fns * @returns {this} */ pipe(...fns: Array<(q: any) => ODataQuery>): this; /** * Sets select for current query. Multiple parameters for multiple selects * @link http://docs.oasis-open.org/odata/odata/v4.01/cs01/part1-protocol/odata-v4.01-cs01-part1-protocol.html#_Toc505771200 * @param {string} select * @returns {this} */ select(select: string): this; select(...select: Array): this; /** * Sets search string for current query. See docs for more * @link http://docs.oasis-open.org/odata/odata/v4.01/cs01/part1-protocol/odata-v4.01-cs01-part1-protocol.html#sec_SystemQueryOptionsearch * @param {string} search * @returns {this} */ search(search: string): this; /** * Sets filter for current query. See more in ODataFilter * @link http://docs.oasis-open.org/odata/odata/v4.01/cs01/part1-protocol/odata-v4.01-cs01-part1-protocol.html#sec_SystemQueryOptionfilter * @param {(f: ODataFilter) => ODataFilter} f * @returns {this} */ filter(f: (f: ODataFilter) => ODataFilter): this; /** * Sets order for current query. Returns order query for continuous ordering * @link http://docs.oasis-open.org/odata/odata/v4.01/cs01/part1-protocol/odata-v4.01-cs01-part1-protocol.html#sec_SystemQueryOptionorderby * @param {string} orderBy * @param {Order} order * @returns {OrderedQuery} */ orderBy(orderBy: string, order?: Order): OrderedQuery; /** * Add expand node to current query * @link http://docs.oasis-open.org/odata/odata/v4.01/cs01/part1-protocol/odata-v4.01-cs01-part1-protocol.html#_Toc505771201 * @param {IExpand | string | Array | Array} expand * @param {(q: IQuery) => IQuery} subquery * @returns {this} */ expand(expand: Expand, subquery?: (q: IQuery) => IQuery): this; toString(options?: { encode: boolean; }): string; toExpression(): IQueryExpression; private _expand; }