import type { RequestHandler } from 'express'; /** True once dependencies have connected (and remain connected). */ export declare function isReady(): boolean; /** Set by the startup supervisor (and tests). */ export declare function setReady(ready: boolean): void; /** * Default infra endpoints that must stay reachable while NotReady, so * orchestrators can probe liveness/readiness, scrape metrics, warm pools, * serve docs, and relay SSE logs during startup or a dependency outage. This * matches what `createApp` mounts. A service whose own routes COLLIDE with one * of these prefixes (e.g. platform serves a tenant log API at `/logs`) must * pass a narrower list to `readinessGuard()` so its business routes stay gated. */ export declare const DEFAULT_READINESS_BYPASS: string[]; /** * Readiness guard — while the service is NotReady (dependencies not yet * connected, or dropped), reject business requests with 503 + Retry-After * instead of letting them hit a disconnected datastore and 500. * * This is the portable, app-level readiness mechanism that works on every * deploy target — including Docker Compose (single replica, no orchestrator * traffic-draining) and Fargate (ECS exposes only one per-service health * signal, which is also a kill trigger). k8s readiness probes layer on top. * * @param bypassPaths Infra prefixes that always pass through even while * NotReady. Defaults to {@link DEFAULT_READINESS_BYPASS}; pass a custom list * when a business route would otherwise collide with a default prefix. */ export declare function readinessGuard(bypassPaths?: readonly string[]): RequestHandler;