import { type AgentManifest, type AgentManifestInspection } from "../runtimeAgentManifest.js";
import { type RuntimeInspectionFailure, type RuntimeInspectionFinding, type RuntimeInspectionGate } from "./runtimeInspector.js";
export type RuntimeInspectReportAudience = "application" | "official-module" | "management" | "inspection" | "debug";
export type RuntimeInspectReportStatus = "ready" | "degraded" | "blocked";
export type RuntimeInspectReportTool = {
    toolId?: string;
    family?: string;
    group?: string;
    ready?: boolean;
    required?: boolean;
    reason?: string;
    dependencies?: readonly RuntimeInspectReportDependency[];
};
export type RuntimeInspectReportDependency = {
    dependencyId?: string;
    kind?: "provider" | "baseTool" | "mcp" | "storage" | "runtime-surface" | "other" | (string & {});
    ready?: boolean;
    required?: boolean;
    reason?: string;
};
export type RuntimeInspectReportPreview = {
    previewId?: string;
    available?: boolean;
    materialCount?: number;
    toolDeclarationCount?: number;
    safeSummary?: string;
};
export type RuntimeInspectReportTrace = {
    traceId?: string;
    available?: boolean;
    stepCount?: number;
    lastActionPrimitive?: string;
    safeSummary?: string;
};
export type RuntimeInspectReportDebug = {
    health?: "healthy" | "degraded" | "blocked";
    providerReady?: boolean;
    baseToolReady?: boolean;
    replayPreviewAvailable?: boolean;
    findings?: readonly RuntimeInspectionFinding[];
};
export type RuntimeInspectReportSelfRepair = {
    planAvailable?: boolean;
    planStatus?: "plan-ready" | "approval-required" | "escalated" | "unavailable";
    unsafeSideEffects?: boolean;
    nextStep?: string;
};
export type RuntimeInspectReportRequest = {
    runtimeId?: string;
    runtimeReady?: boolean;
    audience?: RuntimeInspectReportAudience;
    manifest?: AgentManifest;
    tools?: readonly RuntimeInspectReportTool[];
    missingRequirements?: readonly string[];
    dependencyGraph?: {
        ready?: boolean;
        blockingIssues?: readonly {
            nodeId?: string;
            reason?: string;
        }[];
        evaluationOrder?: readonly string[];
    };
    promptPackPreview?: RuntimeInspectReportPreview;
    mainLoopTrace?: RuntimeInspectReportTrace;
    debug?: RuntimeInspectReportDebug;
    selfRepair?: RuntimeInspectReportSelfRepair;
    contract?: RuntimeInspectionGate;
    governance?: RuntimeInspectionGate;
};
export type RuntimeInspectReportSectionStatus = "ready" | "degraded" | "blocked" | "not-provided";
export type RuntimeInspectReportSection = {
    sectionId: string;
    status: RuntimeInspectReportSectionStatus;
    summary: string;
    findings: readonly RuntimeInspectionFinding[];
};
export type RuntimeInspectReport = {
    runtimeId: string;
    status: RuntimeInspectReportStatus;
    audience?: RuntimeInspectReportAudience;
    reportSurface: "runtime.inspection.runtimeInspectReport";
    manifest?: AgentManifestInspection;
    sections: {
        manifest: RuntimeInspectReportSection;
        tools: RuntimeInspectReportSection;
        policy: RuntimeInspectReportSection;
        sandbox: RuntimeInspectReportSection;
        session: RuntimeInspectReportSection;
        state: RuntimeInspectReportSection;
        promptPackPreview: RuntimeInspectReportSection;
        mainLoopTrace: RuntimeInspectReportSection;
        dependencyGraph: RuntimeInspectReportSection;
        debug: RuntimeInspectReportSection;
        selfRepair: RuntimeInspectReportSection;
        missingRequirements: RuntimeInspectReportSection;
    };
    findings: readonly RuntimeInspectionFinding[];
    missingRequirements: readonly string[];
    unsafeSideEffects: false;
    secretLeakageDetected: false;
    governanceChecked: true;
    contractChecked: true;
};
export type RuntimeInspectReportResult = {
    ok: true;
    report: RuntimeInspectReport;
    events: readonly string[];
} | RuntimeInspectionFailure;
export declare const runtimeInspectReportDescriptor: {
    readonly surface: "runtime.inspection";
    readonly capability: "runtimeInspectReport";
    readonly purpose: "aggregate public-safe runtime, manifest, readiness, debug, and self-repair summaries for developers";
    readonly unsafeSideEffects: false;
};
export declare function createRuntimeInspectReport(request?: RuntimeInspectReportRequest): RuntimeInspectReportResult;
