/**
 * Ruvector Acceptance Gate — Gate 8 (Mandatory Blocking Persistence)
 *
 * PURPOSE: Ensure every enterprise simulation blocks until ruvector-service
 * accepts the execution. No fallback, no best-effort.
 *
 * INVARIANTS ENFORCED:
 * - ADR-004 Invariant 1: Every simulation has a memory footprint
 * - Ruvector acceptance is BLOCKING, not best-effort
 * - Failure to persist to ruvector is a COMMAND FAILURE, not a warning
 *
 * EXIT CODE: 141 (RUVECTOR_ACCEPTANCE_FAILED)
 *
 * FORBIDDEN:
 * - try/catch swallowing of ruvector errors
 * - Fallback to local-only persistence
 * - Warning-level logging for persistence failures
 * - Proceeding without ruvector acceptance
 */
import type { RuvectorRootedGraph, RuvectorAcceptanceResult, DownstreamSpanDescriptor } from '../types/index.js';
export declare const RUVECTOR_ACCEPTANCE_EXIT_CODE = 141;
/**
 * Block until ruvector-service accepts the simulation memory record.
 * NO fallback. NO best-effort. Failure throws CLIError.
 *
 * @throws CLIError (ECLI-RUVECTOR-001) if ruvector rejects or is unavailable
 */
export declare function blockUntilRuvectorAccepts(simulationId: string, memoryRecord: {
    id: string;
    type: 'simulation';
    intent: string;
    intent_description: string;
    status: string;
    result?: unknown;
    attribution: {
        created_by: string;
        org_id: string;
    };
    artifact_ids: string[];
    created_at: string;
    updated_at: string;
    checksum: string;
}, correlationId: string): Promise<RuvectorAcceptanceResult>;
/**
 * Block until ruvector-service accepts a lineage record.
 * NO fallback. NO best-effort. Failure throws CLIError.
 *
 * @throws CLIError (ECLI-RUVECTOR-002) if ruvector rejects or is unavailable
 */
export declare function blockUntilLineageAccepted(lineageRecord: {
    id: string;
    artifact_id: string;
    artifact_category: string;
    simulation_id: string;
    plan_id?: string;
    decision_context: string;
    attribution: {
        created_by: string;
        org_id: string;
    };
    governance: {
        gate_pipeline_version: string;
        synthesis_classification: string;
    };
    created_at: string;
}, correlationId: string): Promise<void>;
/**
 * Build a ruvector-rooted execution graph from downstream span descriptors.
 * ruvector-service is ALWAYS the root node.
 */
export declare function buildRuvectorRootedGraph(ruvectorSpanId: string, downstreamSpans: DownstreamSpanDescriptor[]): RuvectorRootedGraph;
/**
 * Validate that an execution graph has ruvector-service as its root.
 * Throws CLIError if the root is not ruvector-service.
 *
 * @throws CLIError (ECLI-RUVECTOR-003) if root is not ruvector-service
 */
export declare function validateRuvectorRootedGraph(graph: RuvectorRootedGraph): void;
//# sourceMappingURL=ruvector-acceptance-gate.d.ts.map