/** Runtime names accepted by Hikoutei's public field-operator syntax. */ export declare const HIKOUTEI_QUERY_OPERATORS: { readonly EQ: "eq"; readonly NE: "ne"; readonly GT: "gt"; readonly GTE: "gte"; readonly LT: "lt"; readonly LTE: "lte"; readonly IN: "in"; readonly NIN: "nin"; readonly LIKE: "like"; }; /** Runtime sort directions accepted by Hikoutei query options. */ export declare const HIKOUTEI_SORT_DIRECTIONS: { readonly ASC: "asc"; readonly DESC: "desc"; }; /** Ascending or descending local SQLite order. */ export type HikouteiSortDirection = (typeof HIKOUTEI_SORT_DIRECTIONS)[keyof typeof HIKOUTEI_SORT_DIRECTIONS]; type NonNull = Exclude; type AllowsNull = null extends Value ? true : false; type EqualityOperand = NonNull | (AllowsNull extends true ? null : never); type SetOperand = readonly EqualityOperand[]; type EqualityOperatorFilter = { readonly eq?: EqualityOperand; readonly ne?: EqualityOperand; readonly in?: SetOperand; readonly nin?: SetOperand; }; type RangeOperatorFilter = NonNull extends string | number | Date ? { readonly gt?: NonNull; readonly gte?: NonNull; readonly lt?: NonNull; readonly lte?: NonNull; } : {}; type LikeOperatorFilter = NonNull extends string ? { readonly like?: string; } : {}; type OperatorShape = EqualityOperatorFilter & RangeOperatorFilter & LikeOperatorFilter; type AtLeastOne = { [Key in keyof ObjectType]-?: Required> & Partial>; }[keyof ObjectType]; /** Operators valid for one entity property value. */ export type HikouteiOperatorFilter = AtLeastOne>; /** Entity filter with equality shorthand or Hikoutei-owned field operators. */ export type HikouteiFilter = Readonly<{ [Property in keyof Entity]?: Entity[Property] | HikouteiOperatorFilter; }>; /** Ordered entity fields; JavaScript property insertion order sets precedence. */ export type HikouteiOrderBy = Readonly>>; /** Options for collection reads. */ export interface HikouteiFindOptions> { readonly orderBy?: HikouteiOrderBy; readonly limit?: number; readonly offset?: number; } /** Options for single-row reads; paging is intentionally unavailable. */ export interface HikouteiFindOneOptions> { readonly orderBy?: HikouteiOrderBy; } export {}; //# sourceMappingURL=query.d.ts.map