import { HealthCheckService, HealthCheckResult } from "@nestjs/terminus"; import { Neo4jHealthIndicator } from "../indicators/neo4j.health"; import { RedisHealthIndicator } from "../indicators/redis.health"; import { S3HealthIndicator } from "../indicators/s3.health"; import { DiskHealthIndicator } from "../indicators/disk.health"; /** * Health Check Controller * * Provides health check endpoints for monitoring and orchestration. * All endpoints are PUBLIC (no authentication required). * Rate limiting is disabled for health endpoints. * * Endpoints: * - GET /health - Full health status with all dependency checks * - GET /health/live - Liveness probe (process is running) * - GET /health/ready - Readiness probe (can accept traffic) */ export declare class HealthController { private health; private neo4jHealth; private redisHealth; private s3Health; private diskHealth; constructor(health: HealthCheckService, neo4jHealth: Neo4jHealthIndicator, redisHealth: RedisHealthIndicator, s3Health: S3HealthIndicator, diskHealth: DiskHealthIndicator); /** * Full health check endpoint * * Checks all dependencies and returns detailed status. * Use for monitoring dashboards and detailed health analysis. * * @returns HealthCheckResult with status of all dependencies * - HTTP 200: All dependencies healthy * - HTTP 503: One or more dependencies unhealthy */ check(): Promise; /** * Liveness probe endpoint * * Indicates if the application process is running. * Does NOT check external dependencies. * * Use for Kubernetes livenessProbe: * - If this fails, container should be restarted * * @returns HealthCheckResult * - HTTP 200: Process is alive */ liveness(): Promise; /** * Readiness probe endpoint * * Indicates if the application can accept traffic. * Checks critical dependencies (Neo4j, Redis). * * Use for Kubernetes readinessProbe: * - If this fails, traffic should be routed elsewhere * - Container should NOT be restarted * * @returns HealthCheckResult * - HTTP 200: Ready to accept traffic * - HTTP 503: Not ready (dependency unavailable) */ readiness(): Promise; } //# sourceMappingURL=health.controller.d.ts.map