import { QueryBase } from "./QueryBase"; import { WhereQuery } from "./WhereQuery"; import { OrderProperty } from "./OrderProperty"; /** * The query class is used for constructing queries. * @example * const query = new Sitefinity.Query(); * const query0 = query.where().and().endsWith("Title", "Record").done().or().startsWith('Title', 'asd').done().done(); * const query1 = query.where().or().endsWith("Record", "Title").ne('age', '15').eq('Content', 'test').done().done(); * const query2 = query.where().and().endsWith("Title", "Record").done().done(); * const query3 = query.where().endsWith("Record", "Title").or().ne('age', '15').eq('Content', 'test').done().done(); * const query4 = query.where().not().endsWith("Record", "Title").done().and().not().eq('Content', 'test').done().done().done(); * const query5 = query.where().not().and().endsWith("Record", "Title").eq('Content', 'test').done().done().done(); * const query6 = query.select("Id", "Title", "Content").expand('Tags').order("Title desc").where().ne('Title', 'zzz').eq('Title', 'newTitle').done()//.count(); * const query7 = query.order("Title desc").where().eq('Title', 'newTitleUPDATE1').done().select("Title", "Content"); * const query8 = query.where().eq('Title', 'newTitleN11').done(); */ export declare class Query extends QueryBase { orderProperties: OrderProperty[]; skipValue: number; takeValue: number; searchValue: string; inlineCount: boolean; filter: WhereQuery; constructor(); /** * Begins a where clause for filtering the items. */ where(): WhereQuery; /** * Specifies the order by clause. * @example * order by single field * order("Title desc") * @example * order by multiple fields * order("Title desc", "Description asc") */ order(...properties: string[]): Query; /** * Skips a certain number of items from the beginning before returning the rest of the items. Used for paging. */ skip(value: number): Query; /** * Takes a specified number of items from the query result. Used for paging. */ take(value: number): Query; /** * Searches for the items matching the specified expression. */ search(value: string): Query; /** * Returns the total item count with the result. Used for paging. */ count(inline?: boolean): Query; build(): { [key: string]: string; }; }