import type { OrArray } from '../util/Types'; import type { JSONArray, JSONObject } from '../util/Util'; import type { FindOperator } from './FindOperator'; export declare type FindOptionsSelectByString = string[]; export declare type FindOptionsRelationsByString = string[]; export declare type FindOptionsSelect = FindOptionsSelectByString | { [key: string]: boolean | FindOptionsSelect; }; export interface FindOneOptions { select?: FindOptionsSelect; where?: FindOptionsWhere; relations?: FindOptionsRelations; order?: FindOptionsOrder; } export interface FindOptionsRelations { [k: string]: boolean | FindOptionsRelations; } export declare type FindOptionsOrderValue = 'ASC' | 'DESC' | 'asc' | 'desc' | 1 | -1; export declare type FindOptionsOrder = Record; export declare type FieldPrimitiveValue = boolean | number | string | Date; export declare type JsonValueObject = { '@value': FieldPrimitiveValue | JSONObject | JSONArray; '@type': '@json'; }; export declare type LanguageValueObject = { '@value': string; '@language': string; '@direction': string; }; export declare type NonJsonValueObject = { '@value': FieldPrimitiveValue; '@type': string; }; export declare type ValueObject = JsonValueObject | LanguageValueObject | NonJsonValueObject; export declare type FindOptionsWhereField = OrArray | ValueObject | FindOptionsWhere | FindOperator; export declare type IdOrTypeFindOptionsWhereField = string | FindOperator | FindOperator; export interface FindOptionsWhere { type?: IdOrTypeFindOptionsWhereField; id?: IdOrTypeFindOptionsWhereField; [k: string]: FindOptionsWhereField | undefined; } export interface FindAllOptions extends FindOneOptions { offset?: number; limit?: number; }