import { QFilterExpression, QOrderByExpression, QSelectExpression, QueryObjectModel } from "@odata2ts/odata-query-objects"; import { ExpandingFunctionV2, ExpandType, NullableParam, NullableParamList, ODataQueryBuilderConfig, ODataQueryBuilderV2 as ODataQueryBuilderV2Model } from "../ODataQueryBuilderModel.js"; /** * Create an QueryBuilder by passing in a query object, which already contains the base path * to the OData service & the given entity. * * Example: * ODataQueryBuilder.create("people", qPerson) * .select(...) * .filter(qPerson.age.greaterThan(...)) * ... * .build() * * @param path base path to * @param qEntity the query object * @param config optionally pass a configuration * @returns a QueryBuilder */ export declare function createQueryBuilderV2(path: string, qEntity: Q, config?: ODataQueryBuilderConfig): ODataQueryBuilderV2; /** * Create an OData URI string in a typesafe way by facilitating generated query objects. */ declare class ODataQueryBuilderV2 implements ODataQueryBuilderV2Model { private builder; constructor(path: string, qEntity: Q, config?: ODataQueryBuilderConfig); select(...props: NullableParamList): this; filter(...expressions: NullableParamList): this; expand>(...props: NullableParamList): this; expanding>(prop: Prop, builderFn: ExpandingFunctionV2): this; orderBy(...expressions: NullableParamList): this; count(doCount?: boolean): this; top(itemsTop: NullableParam): this; skip(itemsToSkip: NullableParam): this; build(): string; } export {};