/**
 * `mailpouch status` — fast, read-only operational view. Exits immediately;
 * NEVER starts a server (the bug this command exists to avoid: typing a
 * status check used to boot a second full MCP server in the foreground).
 *
 * Reports what you'd otherwise assemble by hand from ps/ss/log/json:
 *   - is a mailpouch instance already running (PID from the singleton lock),
 *     and on which settings port — confirmed by probing its GET /api/status,
 *   - the live connection + approved-agent counts from that running instance,
 *   - plus the offline diagnosis (config path, Bridge reachability, next step)
 *     and the config/log file locations.
 *
 * Reuses gatherSetupStatus (src/diagnostics/setup-status.ts), the singleton-lock
 * path (src/utils/singleton-lock.ts), and the home-path helper. `--json` for scripts.
 */
import { gatherSetupStatus, type SetupStatusResult } from "../diagnostics/setup-status.js";
export interface RunningInstance {
    pid: number | null;
    reachable: boolean;
    version?: string;
    connected?: boolean;
    account?: string;
    pendingCount?: number;
    activeCount?: number;
}
export interface StatusResult {
    running: boolean;
    instance: RunningInstance;
    settingsPort: number;
    configPath: string;
    logPath: string;
    agents: {
        pending: number;
        active: number;
    };
    diagnosis: SetupStatusResult;
}
export interface StatusCliDeps {
    out?: (line: string) => void;
    err?: (line: string) => void;
    /** Probe a running instance's GET /api/status. Injectable for tests. */
    probe?: (port: number) => Promise<Record<string, unknown> | null>;
    /** Resolve the live PID from the singleton lock. Injectable for tests. */
    readPid?: (accountIdentity: string | undefined) => number | null;
    /** Offline diagnosis. Injectable for tests. */
    gather?: typeof gatherSetupStatus;
    /** Persisted agent-grant counts (used when no instance is running). */
    grantCounts?: () => {
        pending: number;
        active: number;
    };
}
export declare function runStatusCli(argv: string[], deps?: StatusCliDeps): Promise<number>;
//# sourceMappingURL=status-cli.d.ts.map