import type { ClientRecord } from './client-registry.js';
import type { MemoryEngine } from './memory.js';
import type { SubAgentRuntime } from '../phantom/runtime.js';
import type { OrchestratorEngine } from './orchestrator.js';
import type { WorkspaceContext } from './workspace-resolver.js';
export declare const DASHBOARD_COMPATIBILITY_CAPABILITIES: readonly ["runs", "memory", "pod", "clients", "events", "stream", "specialists", "crews", "planner", "hooks", "automations", "federation", "orchestration", "tokens", "tokenSources", "instructionPacket", "orchestrationLedger", "knowledgeFabric", "ragCollections", "patterns", "modelTiers", "workerPlan", "artifactOutcomes", "memoryTrace", "memoryShared", "worktreeHealth", "featureRegistry", "synapse", "architects", "dashboardSummary", "dashboardSurfaces", "nexusLayer", "skillDistribution", "runtimeHealth"];
export type DashboardCompatibilityCapability = typeof DASHBOARD_COMPATIBILITY_CAPABILITIES[number];
export interface EngineHealthStatus {
    name: 'synapse' | 'architects';
    available: boolean;
    ready: boolean;
    deferred: boolean;
    mode: 'ready' | 'degraded' | 'blocked' | 'deferred';
    required: boolean;
    repoRoot?: string;
    requestedStorageRoot?: string;
    storageRoot?: string;
    dbPath?: string;
    fallbackApplied?: boolean;
    reason?: string;
    quarantinePath?: string;
    remediation?: string[];
}
export interface RuntimeHealthEnvelope {
    schemaVersion: number;
    status: 'healthy' | 'degraded' | 'blocked';
    workspace: {
        workspaceRoot: string;
        repoRoot: string;
        stateRoot: string;
        source: WorkspaceContext['source'];
        notes: string[];
    };
    engines: {
        synapse: EngineHealthStatus;
        architects: EngineHealthStatus;
    };
    runtime: {
        available: boolean;
        runtimeId: string | null;
        latestRunId: string | null;
        runsTracked: number;
    };
    memory: {
        available: boolean;
        activeDbPath: string | null;
        fallbackApplied: boolean;
    };
    clients: {
        primaryClientId: string | null;
        total: number;
        active: number;
    };
    worktree: {
        status: string;
        actions: string[];
    };
    selection: {
        summary: string;
        selected: number;
        rejected: number;
    };
    compatibility: {
        requiredCapabilities: DashboardCompatibilityCapability[];
        missingCapabilities: DashboardCompatibilityCapability[];
        ready: boolean;
    };
    degradedReasons: string[];
}
export declare function createEngineHealthStatus(input: {
    name: EngineHealthStatus['name'];
    available?: boolean;
    ready?: boolean;
    deferred?: boolean;
    repoRoot?: string;
    requestedStorageRoot?: string;
    storageRoot?: string;
    dbPath?: string;
    fallbackApplied?: boolean;
    reason?: string;
    quarantinePath?: string;
}): EngineHealthStatus;
export declare function buildRuntimeHealthEnvelope(input: {
    workspace: WorkspaceContext;
    runtime?: SubAgentRuntime;
    memory?: MemoryEngine;
    orchestrator?: OrchestratorEngine;
    clients?: ClientRecord[];
    primaryClient?: ClientRecord | null;
    synapse: EngineHealthStatus;
    architects: EngineHealthStatus;
}): RuntimeHealthEnvelope;
