/**
 * LiveTeamHealthDataProvider — Production data adapter for THW
 *
 * Connects the THW pure detector to live state by reusing existing
 * services rather than introducing new caches (per §A.6 reuse-don't-
 * reinvent):
 *
 *   - WorkItem snapshot   → ReconcilerDataProvider.getActiveWorkItems()
 *   - Request snapshot    → ReconcilerDataProvider.getActiveRequests()
 *   - Agent health        → ReconcilerDataProvider.getAgentHealthMap()
 *   - Trigger snapshot    → TriggerEngine.list() (best-effort)
 *   - Team config         → StorageService.getTeams()
 *
 * Layer-4 invariant (§A.1): READS only. NEVER mutates lower-layer state.
 *
 * @module services/team-health/live-team-health-data-provider
 */
import type { TeamHealthSnapshot } from './team-health-types.js';
import type { TeamHealthDataProvider } from './team-health-watchdog.service.js';
import type { ReconcilerDataProvider } from '../reconciler/reconciler.service.js';
import type { Trigger } from '../../types/v2/index.js';
import type { Team } from '../../types/index.js';
/**
 * Optional read accessors. Production wiring supplies live impls; tests
 * inject fakes. None are mandatory — when omitted, the provider degrades
 * gracefully (e.g. trigger-silence axis defaults to "silent" with no
 * triggers list).
 */
export interface LiveDataAccessors {
    /** Reuse the same reconciler data provider already wired for Layer 2. */
    reconcilerProvider: ReconcilerDataProvider;
    /** Returns all teams from StorageService.getTeams() */
    getTeams: () => Promise<Team[]>;
    /** Optional — returns Trigger.list() snapshot. Defaults to []. */
    getTriggers?: () => Promise<Trigger[]>;
    /** Backend boot timestamp (Date). */
    bootedAt: Date;
}
/**
 * Production implementation of TeamHealthDataProvider.
 */
export declare class LiveTeamHealthDataProvider implements TeamHealthDataProvider {
    private accessors;
    constructor(accessors: LiveDataAccessors);
    /**
     * Collect one snapshot for a sweep. Best-effort — partial failures in
     * any single accessor degrade gracefully (the watchdog wraps this in
     * its own try/catch; here we just return what we can).
     */
    collectSnapshot(now: Date): Promise<TeamHealthSnapshot>;
}
//# sourceMappingURL=live-team-health-data-provider.d.ts.map