export declare const runtimeGovernancePlaneSurface: "runtime.governancePlane";
export type RuntimeGovernanceDecisionStatus = "allow" | "deny" | "requires-approval" | "degrade";
export type RuntimeGovernanceBoundary = "input" | "contract" | "governance" | "runtime-state" | "scope";
export type RuntimeGovernanceCallerKind = "application" | "official-module" | "runtime-surface" | "tool" | "model" | "external-control";
export type RuntimeGovernanceActionKind = "agent" | "tool" | "model" | "module" | "interface" | "runtime";
export type RuntimeGovernanceErrorCode = "MISSING_RUNTIME_ID" | "MISSING_ACTION" | "MISSING_CALLER" | "MISSING_CALLER_ID" | "RUNTIME_NOT_READY" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "MODULE_NOT_MOUNTED";
export type RuntimeGovernanceGate = {
    accepted: boolean;
    reason?: string;
};
export type RuntimeGovernanceCaller = {
    kind: RuntimeGovernanceCallerKind;
    id: string;
    moduleId?: string;
    sessionId?: string;
};
export type RuntimeGovernancePolicy = {
    id: string;
    decision: RuntimeGovernanceDecisionStatus;
    actions?: readonly string[];
    callerKinds?: readonly RuntimeGovernanceCallerKind[];
    requiredScopes?: readonly string[];
    reason?: string;
    priority?: number;
    approvalChannel?: string;
    degradationTarget?: string;
};
export type RuntimeGovernancePlaneRequest = {
    runtimeId?: string;
    action?: string;
    actionKind?: RuntimeGovernanceActionKind;
    caller?: RuntimeGovernanceCaller;
    requestedScopes?: readonly string[];
    grantedScopes?: readonly string[];
    policies?: readonly RuntimeGovernancePolicy[];
    runtimeReady?: boolean;
    contract?: RuntimeGovernanceGate;
    governance?: RuntimeGovernanceGate;
    moduleMounted?: boolean;
    auditLabels?: readonly string[];
};
export type RuntimeGovernanceDecision = {
    status: RuntimeGovernanceDecisionStatus;
    runtimeId: string;
    action: string;
    actionKind: RuntimeGovernanceActionKind;
    caller: RuntimeGovernanceCaller;
    requestedScopes: readonly string[];
    grantedScopes: readonly string[];
    missingScopes: readonly string[];
    matchedPolicyIds: readonly string[];
    reason: string;
    approvalRequired: boolean;
    approvalChannel?: string;
    degradationTarget?: string;
    auditTrail: readonly string[];
    governanceSurface: typeof runtimeGovernancePlaneSurface;
    unsafeSideEffects: false;
};
export type RuntimeGovernanceError = {
    code: RuntimeGovernanceErrorCode;
    message: string;
    boundary: RuntimeGovernanceBoundary;
    publicSafe: true;
};
export type RuntimeGovernancePlaneResult = {
    ok: true;
    decision: RuntimeGovernanceDecision;
    events: readonly string[];
} | {
    ok: false;
    error: RuntimeGovernanceError;
    events: readonly string[];
};
export declare function evaluateRuntimeGovernancePlane(request?: RuntimeGovernancePlaneRequest): RuntimeGovernancePlaneResult;
