import type { Dictionary, EntityKey, ExpandProperty } from './typings'; import type { Transaction } from './connections'; import type { LogContext } from './logging'; export declare enum FlushMode { /** The `EntityManager` delays the flush until the current Transaction is committed. */ COMMIT = "commit", /** This is the default mode, and it flushes the `EntityManager` only if necessary. */ AUTO = "auto", /** Flushes the `EntityManager` before every query. */ ALWAYS = "always" } export declare enum PopulateHint { INFER = "infer", ALL = "all" } export declare enum PopulatePath { INFER = "$infer", ALL = "*" } export declare enum GroupOperator { $and = "and", $or = "or" } export declare enum QueryOperator { $eq = "=", $in = "in", $nin = "not in", $gt = ">", $gte = ">=", $lt = "<", $lte = "<=", $ne = "!=", $not = "not", $like = "like", $re = "regexp", $fulltext = "fulltext", $exists = "not null", $ilike = "ilike",// postgres only $overlap = "&&",// postgres only $contains = "@>",// postgres only $contained = "<@",// postgres only $none = "none",// collection operators, sql only $some = "some",// collection operators, sql only $every = "every",// collection operators, sql only $hasKey = "?",// postgres only, json $hasKeys = "?&",// postgres only, json $hasSomeKeys = "?|" } export declare const ARRAY_OPERATORS: string[]; export declare const JSON_KEY_OPERATORS: string[]; export declare enum QueryOrder { ASC = "ASC", ASC_NULLS_LAST = "ASC NULLS LAST", ASC_NULLS_FIRST = "ASC NULLS FIRST", DESC = "DESC", DESC_NULLS_LAST = "DESC NULLS LAST", DESC_NULLS_FIRST = "DESC NULLS FIRST", asc = "asc", asc_nulls_last = "asc nulls last", asc_nulls_first = "asc nulls first", desc = "desc", desc_nulls_last = "desc nulls last", desc_nulls_first = "desc nulls first" } export declare enum QueryOrderNumeric { ASC = 1, DESC = -1 } export type QueryOrderKeysFlat = QueryOrder | QueryOrderNumeric | `${QueryOrder}`; export type QueryOrderKeys = QueryOrderKeysFlat | QueryOrderMap; export type QueryOrderMap = { [K in EntityKey]?: QueryOrderKeys>; }; export type QBQueryOrderMap = QueryOrderMap | Dictionary; export interface FlatQueryOrderMap { [x: string]: QueryOrderKeysFlat; } export declare enum QueryFlag { DISTINCT = "DISTINCT", PAGINATE = "PAGINATE", DISABLE_PAGINATE = "DISABLE_PAGINATE", UPDATE_SUB_QUERY = "UPDATE_SUB_QUERY", DELETE_SUB_QUERY = "DELETE_SUB_QUERY", CONVERT_CUSTOM_TYPES = "CONVERT_CUSTOM_TYPES", INCLUDE_LAZY_FORMULAS = "INCLUDE_LAZY_FORMULAS", AUTO_JOIN_ONE_TO_ONE_OWNER = "AUTO_JOIN_ONE_TO_ONE_OWNER", INFER_POPULATE = "INFER_POPULATE", DISABLE_NESTED_INNER_JOIN = "DISABLE_NESTED_INNER_JOIN", IDENTITY_INSERT = "IDENTITY_INSERT" } export declare const SCALAR_TYPES: string[]; export declare enum ReferenceKind { SCALAR = "scalar", ONE_TO_ONE = "1:1", ONE_TO_MANY = "1:m", MANY_TO_ONE = "m:1", MANY_TO_MANY = "m:n", EMBEDDED = "embedded" } export declare enum Cascade { PERSIST = "persist", MERGE = "merge", REMOVE = "remove", ALL = "all", /** @internal */ SCHEDULE_ORPHAN_REMOVAL = "schedule_orphan_removal", /** @internal */ CANCEL_ORPHAN_REMOVAL = "cancel_orphan_removal" } export declare enum LoadStrategy { SELECT_IN = "select-in", JOINED = "joined", BALANCED = "balanced" } export declare enum DataloaderType { NONE = 0, REFERENCE = 1, COLLECTION = 2, ALL = 3 } export declare enum LockMode { NONE = 0, OPTIMISTIC = 1, PESSIMISTIC_READ = 2, PESSIMISTIC_WRITE = 3, PESSIMISTIC_PARTIAL_WRITE = 4, PESSIMISTIC_WRITE_OR_FAIL = 5, PESSIMISTIC_PARTIAL_READ = 6, PESSIMISTIC_READ_OR_FAIL = 7 } export declare enum IsolationLevel { READ_UNCOMMITTED = "read uncommitted", READ_COMMITTED = "read committed", SNAPSHOT = "snapshot", REPEATABLE_READ = "repeatable read", SERIALIZABLE = "serializable" } export declare enum EventType { onInit = "onInit", onLoad = "onLoad", beforeCreate = "beforeCreate", afterCreate = "afterCreate", beforeUpdate = "beforeUpdate", afterUpdate = "afterUpdate", beforeUpsert = "beforeUpsert", afterUpsert = "afterUpsert", beforeDelete = "beforeDelete", afterDelete = "afterDelete", beforeFlush = "beforeFlush", onFlush = "onFlush", afterFlush = "afterFlush", beforeTransactionStart = "beforeTransactionStart", afterTransactionStart = "afterTransactionStart", beforeTransactionCommit = "beforeTransactionCommit", afterTransactionCommit = "afterTransactionCommit", beforeTransactionRollback = "beforeTransactionRollback", afterTransactionRollback = "afterTransactionRollback" } export declare const EventTypeMap: Record; export type TransactionEventType = EventType.beforeTransactionStart | EventType.afterTransactionStart | EventType.beforeTransactionCommit | EventType.afterTransactionCommit | EventType.beforeTransactionRollback | EventType.afterTransactionRollback; export declare enum TransactionPropagation { REQUIRED = "required", REQUIRES_NEW = "requires_new", NESTED = "nested", NOT_SUPPORTED = "not_supported", SUPPORTS = "supports", MANDATORY = "mandatory", NEVER = "never" } export interface TransactionOptions { ctx?: Transaction; propagation?: TransactionPropagation; isolationLevel?: IsolationLevel; readOnly?: boolean; clear?: boolean; flushMode?: FlushMode; ignoreNestedTransactions?: boolean; loggerContext?: LogContext; } export declare abstract class PlainObject { } export declare enum DeferMode { INITIALLY_IMMEDIATE = "immediate", INITIALLY_DEFERRED = "deferred" }