import type { GraphileCacheEntry } from './graphile-cache'; interface GraphileInstanceOptions { preset: any; cacheKey: string; /** * When true, a RealtimeManager is created and started alongside the * PostGraphile instance. The pool is extracted from the preset's * pgServices (managed by pg-cache) rather than passed separately. */ enableRealtime?: boolean; } /** * Create a PostGraphile v5 instance backed by grafserv/express. * * This is the shared factory used by both graphql/server and graphql/explorer * to spin up a fully-initialised PostGraphile handler that fits into the * graphile-cache LRU cache. * * Callers are responsible for building the `GraphileConfig.Preset` (including * pgServices, grafserv options, grafast context, etc.) before passing it here. * * When `enableRealtime` is true, a RealtimeManager is created that bridges * cursor-tracked events from `drain_changes()` into the PostGraphile * instance's PgSubscriber EventEmitter. Both `pgSubscriber` and the pg * pool are extracted from the resolved preset's pgServices — no separate * pool parameter is needed. */ export declare const createGraphileInstance: (opts: GraphileInstanceOptions) => Promise; export {};