import { PMOCommand } from '../../lib/pmo/index.js';
export type AgentHealthState = 'HUNG' | 'WORKING' | 'DONE' | 'IDLE' | 'UNKNOWN';
/**
 * Detect agent health state from tmux pane content.
 *
 * Detection patterns (checked in priority order):
 * - '0 tokens' (the down-arrow + 0 tokens pattern) = HUNG
 * - 'esc to interrupt' = WORKING
 * - 'Agent work complete' or similar completion messages = DONE
 * - Idle prompt patterns ($ or ❯ at end of line) = IDLE
 */
export declare function detectState(paneContent: string | null): AgentHealthState;
export default class SessionHealth extends PMOCommand {
    static description: string;
    static examples: string[];
    static flags: {
        fix: import("@oclif/core/interfaces").BooleanFlag<boolean>;
        'poke-idle': import("@oclif/core/interfaces").BooleanFlag<boolean>;
        watch: import("@oclif/core/interfaces").BooleanFlag<boolean>;
        interval: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
        threshold: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
        json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
        machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
        project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
    };
    protected getPMOOptions(): {
        promptIfMultiple: boolean;
    };
    execute(): Promise<void>;
    /**
     * Single health check pass. Returns the list of agent health infos.
     */
    private runHealthCheck;
    /**
     * Display the health status table.
     */
    private displayHealthTable;
    /**
     * Poke an idle agent with its ticket description to resume work.
     * Looks up the ticket from PMO storage and sends the description.
     */
    private pokeIdleAgent;
    /**
     * Watchdog mode: continuously monitor and auto-recover hung agents.
     */
    private watchMode;
}
