/**
 * Diagnostics Routes
 *
 * Provides runtime diagnostics for the orchestration system.
 * Used by `sf doctor` to display runtime health information.
 */
import { Hono } from 'hono';
import type { Services } from '../services.js';
export interface RateLimitDiagnostic {
    executable: string;
    resetsAt: string;
}
export interface StuckTaskDiagnostic {
    taskId: string;
    title: string;
    status: string;
    assignee?: string;
    resumeCount: number;
    mergeStatus?: string;
}
export interface MergeQueueDiagnostic {
    awaitingMergeCount: number;
    stuckInTestingCount: number;
    stuckInMergingCount: number;
    stuckTasks: Array<{
        taskId: string;
        title: string;
        mergeStatus: string;
        updatedAt: string;
    }>;
}
export interface ErrorRateDiagnostic {
    lastHourCount: number;
    lastDayCount: number;
}
export interface AgentPoolDiagnostic {
    totalAgents: number;
    idleAgents: number;
    busyAgents: number;
    utilizationPercent: number;
    sessions: Array<{
        agentId: string;
        agentName: string;
        role: string;
        sessionId: string;
        durationMs: number;
    }>;
}
export interface DiagnosticsResponse {
    timestamp: string;
    rateLimits: {
        isPaused: boolean;
        limits: RateLimitDiagnostic[];
        soonestReset?: string;
    };
    stuckTasks: StuckTaskDiagnostic[];
    mergeQueue: MergeQueueDiagnostic;
    errorRate: ErrorRateDiagnostic;
    agentPool: AgentPoolDiagnostic;
}
export declare function createDiagnosticsRoutes(services: Services): Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
//# sourceMappingURL=diagnostics.d.ts.map