import { type OfficialModuleCapabilityContract, type OfficialModuleCapabilityContractError, type OfficialModuleCapabilityGrant, type OfficialModuleCapabilityUse, type OfficialModuleGate } from "./officialModuleCapabilityContract.js";
export type MpRuntimeBridgeRequest = {
    runtimeId?: string;
    moduleId?: string;
    memorySpaceId?: string;
    stateSnapshotId?: string;
    requestedCapabilities?: readonly OfficialModuleCapabilityUse[];
    allowedCapabilities?: readonly OfficialModuleCapabilityGrant[];
    runtimeReady?: boolean;
    contract?: OfficialModuleGate;
    governance?: OfficialModuleGate;
};
export type MpRuntimeBridgePlan = {
    runtimeId: string;
    moduleId: string;
    moduleKind: "MP";
    memorySpaceId?: string;
    stateSnapshotId?: string;
    capabilityContract: OfficialModuleCapabilityContract;
    memoryAccess: "runtime-mediated";
    stateAccess: "runtime-mediated";
    contextAccess: "runtime-mediated";
    invocationAccess: "dry-run";
    dispatch: "dry-run";
    memoryStrategyImplemented: false;
    unsafeSideEffects: false;
};
export type MpRuntimeBridgeResult = {
    ok: true;
    plan: MpRuntimeBridgePlan;
    events: readonly string[];
} | {
    ok: false;
    error: OfficialModuleCapabilityContractError;
    events: readonly string[];
};
export declare function createMpRuntimeBridge(request?: MpRuntimeBridgeRequest): MpRuntimeBridgeResult;
