import type { Logger } from '@polka-codes/core';
/**
 * Health status
 */
export interface HealthStatus {
    healthy: boolean;
    reason?: string;
    details?: Record<string, any>;
}
/**
 * Health check function
 */
export type HealthCheck = () => Promise<HealthStatus> | HealthStatus;
/**
 * Monitors agent health
 */
export declare class HealthMonitor {
    #private;
    constructor(logger: Logger, healthCheck: HealthCheck, onUnhealthy?: (status: HealthStatus) => void | Promise<void>);
    /**
     * Start health monitoring
     */
    start(intervalMs?: number): void;
    /**
     * Stop health monitoring
     */
    stop(): void;
    /**
     * Perform health check
     */
    check(): Promise<HealthStatus>;
    /**
     * Get last health check status
     */
    getLastStatus(): HealthStatus | null;
    /**
     * Get time since last health check
     */
    getTimeSinceLastCheck(): number;
}
//# sourceMappingURL=health-monitor.d.ts.map