import { type RuntimeInspectionBoundary, type RuntimeInspectionFailure, type RuntimeInspectionFinding, type RuntimeInspectionGate } from "./runtimeInspector.js";
export type RuntimeCheckStatus = "pass" | "warn" | "fail" | "skip";
export type RuntimeCheckDefinition = {
    checkId?: string;
    boundary?: RuntimeInspectionBoundary;
    status?: RuntimeCheckStatus;
    required?: boolean;
    findings?: readonly RuntimeInspectionFinding[];
    events?: readonly string[];
};
export type RuntimeCheckRunnerRequest = {
    runtimeId?: string;
    runtimeReady?: boolean;
    dryRun?: boolean;
    checks?: readonly RuntimeCheckDefinition[];
    contract?: RuntimeInspectionGate;
    governance?: RuntimeInspectionGate;
};
export type RuntimeCheckRunnerStatus = "passed" | "warning" | "failed" | "skipped";
export type RuntimeCheckRunnerReport = {
    runtimeId: string;
    status: RuntimeCheckRunnerStatus;
    executedChecks: readonly string[];
    skippedChecks: readonly string[];
    findings: readonly RuntimeInspectionFinding[];
    dryRun: true;
    auditOnly: true;
    checkSurface: "runtime.inspection.runtimeCheckRunner";
    governanceChecked: true;
    contractChecked: true;
    unsafeSideEffects: false;
};
export type RuntimeCheckRunnerResult = {
    ok: true;
    report: RuntimeCheckRunnerReport;
    events: readonly string[];
} | RuntimeInspectionFailure;
export declare function runRuntimeChecks(request?: RuntimeCheckRunnerRequest): RuntimeCheckRunnerResult;
