/**
 * Team-Health-Watchdog (THW) Controller
 *
 * HTTP handlers for THW status, on-demand scan, and silence commands.
 * Backs the orchestrator-facing `team-health-scan` skill (§6.5).
 *
 * Per Sam's etiquette nudge: this controller resolves the watchdog via
 * the `getTeamHealthWatchdogSingleton()` accessor — NOT a module-load
 * import — so /api/health can fail-soft when the singleton isn't ready.
 *
 * @module controllers/team-health/team-health.controller
 */
import type { Request, Response, NextFunction } from 'express';
import { type TeamHealthWatchdogService } from '../../services/team-health/index.js';
/**
 * Override the singleton accessor for tests. Pass `null` to clear.
 * Production code should use `setTeamHealthWatchdogSingleton()` from
 * `services/team-health` instead.
 *
 * @param service - The instance to use, or null to fall back to singleton
 */
export declare function setTeamHealthWatchdogService(service: TeamHealthWatchdogService | null): void;
/**
 * Read the current watchdog service. Used internally by handlers; also
 * exported for /api/health augmentation in index.ts.
 */
export declare function getTeamHealthWatchdogService(): TeamHealthWatchdogService | null;
/**
 * GET /api/team-health/scan
 *
 * Returns current verdicts (last sweep). Optional ?teamId=... filter.
 *
 * @param req - Express request with optional `teamId` query param
 * @param res - Express response with verdicts payload
 * @param next - Express next function for error forwarding
 */
export declare function getTeamHealthScan(req: Request, res: Response, next: NextFunction): Promise<void>;
/**
 * POST /api/team-health/run
 *
 * Manually trigger one sweep on demand. Returns the result.
 *
 * @param _req - Express request (unused)
 * @param res - Express response with TeamHealthSweepResult
 * @param next - Express next function for error forwarding
 */
export declare function runTeamHealthSweep(_req: Request, res: Response, next: NextFunction): Promise<void>;
/**
 * POST /api/team-health/silence
 *
 * Apply a manual silence to a team. Body: { teamId, durationMs }.
 * Used by the Slack 🔇 react handler.
 *
 * @param req - Express request with body { teamId, durationMs }
 * @param res - Express response with success flag
 * @param next - Express next function for error forwarding
 */
export declare function silenceTeamHealthAlerts(req: Request, res: Response, next: NextFunction): Promise<void>;
//# sourceMappingURL=team-health.controller.d.ts.map