import type { MaybePromise, StoreContextInput, StoreLogger, StoreLoggerAdapter, StoreRecord, StoreWhere } from "../../types.js"; import type { StoreMemoCacheFacade } from "../cache.js"; import type { RuntimeEntityRegistry, RuntimeJsonMemoAdapter, RuntimePostgresIndex, RuntimeRedisMemoAdapterInput, StoreRuntimeBootOptions, StoreRuntimeCreateOptions, StoreRuntimeEvents, StoreRuntimeFacade, StoreRuntimeMemoOptions, StoreRuntimeModeOptions, StoreRuntimePostgresOptions, StoreRuntimePostgresPoolOptions } from "../types.js"; type StoreApplicationEnv = Record; type StoreStartupMarkDone = (metadata?: Record) => void; type StoreStartupMark = (label: string) => void | StoreStartupMarkDone; interface StoreApplicationRuntimeOptions { boot?: StoreRuntimeBootOptions; bootEnvironment?: StoreRuntimeBootOptions["environment"]; bootFollowUps?: StoreRuntimeBootOptions["followUps"]; bootRewrites?: StoreRuntimeBootOptions["rewrites"]; entities: TRegistry; env?: StoreApplicationEnv; events?: StoreRuntimeEvents; indexMap?: StorePostgresIndexMap; logger?: StoreLogger; loggerAdapter?: StoreLoggerAdapter; memo?: StoreRuntimeMemoOptions; modes?: StoreRuntimeModeOptions; onBootResult?(result: Parameters>[0]): MaybePromise; onWrite?: StoreRuntimeEvents["onWrite"]; postgres?: false | StoreApplicationPostgresOptions; redisMemo?: false | RuntimeRedisMemoAdapterInput | RuntimeJsonMemoAdapter | null; sqlite?: StoreRuntimeCreateOptions["sqlite"]; startup?: StoreStartupBridge; subEntities?: StoreRuntimeCreateOptions["subEntities"]; } interface StoreApplicationRuntimeFacade extends StoreRuntimeFacade { memoCache: StoreMemoCacheFacade; readEntityRecord(entityName: string, where: StoreWhere, context?: StoreContextInput, options?: StoreWhere): Promise; } interface StoreApplicationPostgresOptions extends Omit { indexMap?: StorePostgresIndexMap; indexes?: readonly RuntimePostgresIndex[]; pool?: StoreRuntimePostgresPoolOptions; } interface StoreStartupBridge { mark?: StoreStartupMark; markLabel?: string; } type StorePostgresIndexMap = Record; interface StorePostgresIndexMapItem { expression?: string; expr?: string; method?: RuntimePostgresIndex["method"]; name?: string; } interface StoreBootResultSummary { changed: number; entities: number; failures: number; follow_ups_queued: number; follow_ups_run: number; } export type { StoreApplicationEnv, StoreApplicationPostgresOptions, StoreApplicationRuntimeFacade, StoreApplicationRuntimeOptions, StoreBootResultSummary, StorePostgresIndexMap, StorePostgresIndexMapItem, StoreStartupBridge, StoreStartupMark, StoreStartupMarkDone, }; //# sourceMappingURL=types.d.ts.map