/**
 * AgentDiscovery — read `gateway-manifest.json` from any cwd and classify
 * daemon liveness based on `refreshedAt` staleness.
 *
 * v1.11.0 — Core ↔ Agent Bridge.
 *
 * Path precedence (matches v1.8.3 multi-root catalog resolution):
 *   1. `<OPENLIFE_STATE_DIR or <cwd>/.openlife>/gateway-manifest.json` — cwd-local
 *   2. `~/.openlife/gateway-manifest.json` — machine-scoped fallback
 *
 * Staleness thresholds mirror StatusCommand.ts:
 *   - fresh  (alive=true):  age <= 60s
 *   - stale  (alive=true):  60s < age <= 300s
 *   - dead   (alive=false): age > 300s
 *   - missing (alive=false): manifest file absent or unparseable
 */
import { GatewayManifestRecord } from '../orchestrator/util/GatewayManifest';
export declare const HEARTBEAT_FRESH_S = 60;
export declare const HEARTBEAT_STALE_S = 300;
export type Liveness = 'fresh' | 'stale' | 'dead' | 'missing';
export interface AgentInfo {
    alive: boolean;
    liveness: Liveness;
    manifest: GatewayManifestRecord | null;
    ageSeconds: number | null;
    source: 'cwd' | 'home' | null;
    path: string | null;
}
export declare function discover(): AgentInfo;
/** Exposed for tests so they can assert the discovery order. */
export declare function _candidatePaths(): Array<{
    src: 'cwd' | 'home';
    file: string;
}>;
