/// import { Results } from 'realm'; export declare type ILogicOperator = 'AND' | 'OR'; export declare type EqualValueType = string | number | boolean | Date; export declare type CompareValueType = number | Date; export declare type CriteriaFunc = { (pladholders: string[]): string }; export declare type CriteriaFuncWrapper = { (): string }; declare class RealmQuery { private objects; protected criteria: any[]; protected values: any[]; // Values to be bound to query. Deferred appending till binding done in toString() private inGroup; private sortField; private sortReverse; constructor(objects?: Results); addCriteria(critera: CriteriaFunc, criteriaValues: any[] ): RealmQuery; private getFilteredObjects(); toString(): string; /** * Returns the average of a given field * @param fieldName {string} * @return {number} */ average(fieldName: string): number; /** * Begin grouping of conditions ("left parenthesis") * * @return {RealmQuery} */ beginGroup(): RealmQuery; /** * Condition that the value of field begins with the specified string * * @param fieldName {string} * @param value {string} * @param casing {boolean, optional} BEGINSWITH[c] or BEGINSWITH */ beginsWith(fieldName: string, value: string, casing?: boolean): RealmQuery; /** * Between condition * * @param fieldName {string} * @param from {CompareValueType} * @param to {CompareValueType} * @return {RealmQuery} */ between(fieldName: string, from: CompareValueType, to: CompareValueType): RealmQuery; /** * Condition that value of field contains the specified substring * * @param fieldName {string} * @param value {string} * @param casing {boolean, optional} CONTAINS[c] or CONTAINS */ contains(fieldName: string, value: string, casing?: boolean): RealmQuery; /** * Counts the number of objects that fulfill the query conditions * * @return {number} */ count(): number; /** * Returns a distinct set of objects of a specific class. * * @param fieldName {string} * @return {any[]} */ distinct(fieldName: string): Array; /** * End grouping of conditions ("right parenthesis") which was opened by a call to beginGroup() * @return {RealmQuery} */ endGroup(): RealmQuery; /** * Condition that the value of field ends with the specified string * * @param fieldName {string} * @param value {string} * @param casing {boolean, optional} ENDSWITH[c] or ENDSWITH * @return {RealmQuery} */ endsWith(fieldName: string, value: string, casing?: boolean): RealmQuery; /** * Equal-to comparison * * @param fieldName {string} * @param value {EqualValueType} * @return {RealmQuery} */ equalTo(fieldName: string, value: EqualValueType): RealmQuery; /** * Finds all objects that fulfill the query conditions * @return {Results} */ findAll(): Results; /** * Finds the first object that fulfills the query conditions */ findFirst(): M; /** * Greater-than comparison * * @param fieldName {string} * @param value {CompareValueType} * @return {RealmQuery} */ greaterThan(fieldName: string, value: CompareValueType): RealmQuery; /** * greater-than-or-equal-to comparison * * @param fieldName {string} * @param value {CompareValueType} * @return {RealmQuery} */ greaterThanOrEqualTo(fieldName: string, value: CompareValueType): RealmQuery; /** * In comparison * * @param fieldName {string} * @param values {EqualValueType[]} * @return {RealmQuery} */ in(fieldName: string, values: EqualValueType[]): RealmQuery; isEmpty(fieldName: string): RealmQuery; isNotEmpty(fieldName: string): RealmQuery; isNotNull(fieldName: string): RealmQuery; isNull(fieldName: string): RealmQuery; /** * Less-than comparison * * @param fieldName {string} * @param value {CompareValueType} * @return {RealmQuery} */ lessThan(fieldName: string, value: CompareValueType): RealmQuery; /** * Less-than-or-equal-to comparison * * @param fieldName {string} * @param value {CompareValueType} * @return {RealmQuery} */ lessThanOrEqualTo(fieldName: string, value: CompareValueType): RealmQuery; /** * * @param fieldName * @param value */ like(fieldName: string, value: string): RealmQuery; /** * Finds the maximum value of a field * * @param fieldName {string} * @return {any} */ max(fieldName: string): any; /** * Finds the miniimum value of a field * * @param fieldName {string} * @return {any} */ min(fieldName: string): any; not(): RealmQuery; /** * Not-equal-to comparison * * @param fieldName {string} * @param value {EqualValueType} * @return {RealmQuery} */ notEqualTo(fieldName: string, value: EqualValueType): RealmQuery; /** * AND logic operator. Use in group * * @return {RealmQuery} */ and(): RealmQuery; /** * OR logic operator. Use in group * * @return {RealmQuery} */ or(): RealmQuery; /** * Calculates the sum of a given field * * @param fieldName {string} * @return {number} */ sum(fieldName: string): number; /** * Set sorted into realm.objects * * @param fieldName {string} * @param order {ASC|DESC} * @return {RealmQuery} */ sort(fieldName: string, order?: 'ASC' | 'DESC'): RealmQuery; /** * Combine to another query */ join(query: any): RealmQuery; /** * Create new query * @param objects {Realm.Collection} */ static where(objects: Results): RealmQuery; /** * Create new query. Alias of where * @param objects {Realm.Collection} */ static create(objects?: Results): RealmQuery; } export default RealmQuery;