import { BooleanQuery, DatastoreValueType, DatesAfterQuery, DatesBeforeQuery, EqualitySymbol, MaxMatchStatement, OrmSearch, PaginationQuery, PropertyOptions, PropertyQuery, Query, QueryBuilder, SortOrder, SortStatement } from './types.js'; /** * Creates a property query. * @param key - The property's name/key/column to match on * @param value - The value to match * @param options - Additional options for changing this property query. */ declare const property: (key: string, value: any, options?: PropertyOptions) => PropertyQuery; /** * Limits the number of results to the provided count. * @param max - The maximum results to find */ declare const take: (max: number) => MaxMatchStatement; /** * Creates a sort query * @param key - The key to sort on * @param order - The order of the sort. */ declare const sort: (key: string, order?: SortOrder | undefined) => SortStatement; /** * Creates a pagination query. * @param value - Anything */ declare const pagination: (value: any) => PaginationQuery; /** * Creates a query that looks at dated objects after the given date. * @param key - The property's key * @param jsDate - The date value being examined * @param options - Additional options */ declare const datesAfter: (key: string, jsDate: Date | string, options?: { valueType: DatastoreValueType; equalToAndAfter: boolean; }) => DatesAfterQuery; /** * Creates a search query that looks at dates before the given date. * @param key - The property's key * @param jsDate - The date value being examined. * @param options - Additional options */ declare const datesBefore: (key: string, jsDate: Date | string, options?: { valueType: DatastoreValueType; equalToAndBefore: boolean; }) => DatesBeforeQuery; /** * Creates a builder that can create search queries. * This is a structured way to build search queries. */ declare const queryBuilder: () => QueryBuilder; /** * Determines if the token is an Orm Property based statement * @param value */ declare const isPropertyBasedQuery: (value: any) => value is Query; /** * Determines if the value is a boolean * @param value - The value to examine. */ declare const isALinkToken: (value: any) => value is BooleanQuery; /** * Creates an AND */ declare const and: () => string; /** * Creates an OR */ declare const or: () => string; /** * A helper query that is text based. * @param key - The property key/name * @param value - The value to match * @param options - Additional text based options */ declare const textQuery: (key: string, value: string | undefined | null, options?: Omit, "type" | "equalitySymbol">) => Readonly<{ type: "property"; key: string; value: any; valueType: DatastoreValueType; equalitySymbol: EqualitySymbol; options: PropertyOptions; }>; /** * A helper query that is number based. * @param key - The property key/name * @param value - The value to match * @param equalitySymbol - A matching symbol for the number */ declare const numberQuery: (key: string, value: number | string | undefined | null, equalitySymbol?: EqualitySymbol) => Readonly<{ type: "property"; key: string; value: any; valueType: DatastoreValueType; equalitySymbol: EqualitySymbol; options: PropertyOptions; }>; /** * A helper query that is for boolean values. * @param key - The property key/name * @param value - The value to match */ declare const booleanQuery: (key: string, value: boolean | undefined | null) => Readonly<{ type: "property"; key: string; value: any; valueType: DatastoreValueType; equalitySymbol: EqualitySymbol; options: PropertyOptions; }>; /** * A useful utility for processing {@link QueryTokens} with a {@link DatastoreAdapter} * Takes the first 3 values (property, LINK, property) and then shifts the list left by 2, so that it can create another property, LINK, property * @param data - The list of values */ declare const threeitize: (data: T[]) => T[][]; declare const validateOrmSearch: (search: OrmSearch) => void; export { queryBuilder, take, pagination, sort, property, and, or, isALinkToken, isPropertyBasedQuery, datesBefore, datesAfter, textQuery, numberQuery, booleanQuery, threeitize, validateOrmSearch, };