export type ReceiveEventBoundary = "input" | "contract" | "governance" | "scope" | "runtime-state";
export type ReceiveEventSource = "mainLoop" | "stateEngine" | "IOTransceiver" | "promptPack" | "basicToolLayer" | "officialModuleBridge" | "multiAgentBridge" | "runtime.execEngine";
export type ReceiveEventGate = {
    accepted: boolean;
    reason?: string;
};
export type ReceiveEventRequest = {
    runtimeId?: string;
    sessionId?: string;
    eventId?: string;
    eventKind?: string;
    source?: ReceiveEventSource;
    payload?: Readonly<Record<string, unknown>>;
    requestedSubscribers?: readonly string[];
    allowedSubscribers?: readonly string[];
    runtimeReady?: boolean;
    contract?: ReceiveEventGate;
    governance?: ReceiveEventGate;
    receivedAt?: string;
    metadata?: Readonly<Record<string, unknown>>;
};
export type ReceiveEventErrorCode = "MISSING_RUNTIME_ID" | "MISSING_SESSION_ID" | "MISSING_EVENT_KIND" | "MISSING_EVENT_SOURCE" | "INVALID_EVENT_PAYLOAD" | "RUNTIME_NOT_READY" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "SUBSCRIBER_SCOPE_DENIED";
export type ReceiveEventError = {
    code: ReceiveEventErrorCode;
    message: string;
    boundary: ReceiveEventBoundary;
    safeForRuntimeInspection: true;
    internalDetailExposed: false;
};
export type ReceivedExecutionEvent = {
    plane: "eventExposurePlane";
    type: "executionEvent.received";
    runtimeId: string;
    sessionId: string;
    eventId: string;
    eventKind: string;
    source: ReceiveEventSource;
    payload: Readonly<Record<string, unknown>>;
    payloadKeys: readonly string[];
    receivedAt: string;
    route: "agent_executionEngine.coreLogic.eventExposurePlane";
    visibility: "runtime-subscribable";
    audit: {
        dryRun: true;
        unsafeSideEffects: false;
        contractSurface: "runtime.contractSurface";
        governanceRequired: true;
    };
    metadata: Readonly<Record<string, unknown>>;
};
export type ReceiveEventDispatch = {
    mode: "dry-run";
    requestedSubscribers: readonly string[];
    deliverableSubscribers: readonly string[];
    actualSubscriberNotificationStarted: false;
};
export type ReceiveEventResult = {
    ok: true;
    event: ReceivedExecutionEvent;
    dispatch: ReceiveEventDispatch;
    events: readonly string[];
} | {
    ok: false;
    error: ReceiveEventError;
    events: readonly string[];
};
export declare const receiveEventDescriptor: {
    readonly type: "executionEvent.received";
    readonly plane: "eventExposurePlane";
    readonly purpose: "receive and normalize execution process events without dispatching side effects";
    readonly dispatch: "dry-run";
    readonly unsafeSideEffects: false;
};
export declare function receiveExecutionEvent(request?: ReceiveEventRequest): ReceiveEventResult;
