export type NotifyParentAgentEventBoundary = "input" | "contract" | "governance" | "runtime-state" | "scope";
export type NotifyParentAgentEventGate = {
    accepted: boolean;
    reason?: string;
};
export type NotifyParentAgentEventRequest = {
    runtimeId?: string;
    sessionId?: string;
    parentAgentId?: string;
    sourceAgentId?: string;
    notificationId?: string;
    eventSource?: "mainLoop" | "stateEngine" | "runtime.execEngine" | "multiagentInterface";
    notificationKind?: "progress" | "result" | "warning" | "failure";
    message?: string;
    governanceContext?: readonly string[];
    requestedSubscribers?: readonly string[];
    allowedSubscribers?: readonly string[];
    runtimeReady?: boolean;
    contract?: NotifyParentAgentEventGate;
    governance?: NotifyParentAgentEventGate;
};
export type NotifyParentAgentEventErrorCode = "MISSING_RUNTIME_ID" | "MISSING_SESSION_ID" | "MISSING_PARENT_AGENT_ID" | "MISSING_SOURCE_AGENT_ID" | "MISSING_NOTIFICATION_ID" | "RUNTIME_NOT_READY" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "SUBSCRIBER_SCOPE_DENIED";
export type NotifyParentAgentEventError = {
    code: NotifyParentAgentEventErrorCode;
    message: string;
    boundary: NotifyParentAgentEventBoundary;
    safeForRuntimeInspection: true;
    internalDetailExposed: false;
};
export type NotifyParentAgentEventRecord = {
    type: "multiAgent.parentAgent.notification.exposed";
    runtimeId: string;
    sessionId: string;
    route: "agent_executionEngine.coreLogic.eventExposurePlane.multiAgentInvocation";
    source: "mainLoop" | "stateEngine" | "runtime.execEngine" | "multiagentInterface";
    subject: {
        parentAgentId: string;
        sourceAgentId: string;
        notificationId: string;
    };
    payload: {
        action: "notify-parent";
        notificationKind: "progress" | "result" | "warning" | "failure";
        message?: string;
        governanceContext: readonly string[];
    };
    contractSurface: "runtime.contractSurface";
    governanceRequired: true;
    dryRun: true;
    unsafeSideEffects: false;
};
export type NotifyParentAgentDispatchRecord = {
    mode: "dry-run";
    requestedSubscribers: readonly string[];
    deliverableSubscribers: readonly string[];
    actualParentNotificationSent: false;
};
export type NotifyParentAgentEventResult = {
    ok: true;
    event: NotifyParentAgentEventRecord;
    dispatch: NotifyParentAgentDispatchRecord;
    events: readonly string[];
} | {
    ok: false;
    error: NotifyParentAgentEventError;
    events: readonly string[];
};
export declare const notifyParentAgentEventDescriptor: {
    readonly type: "multiAgent.parentAgent.notification.exposed";
    readonly route: "agent_executionEngine.coreLogic.eventExposurePlane.multiAgentInvocation";
    readonly purpose: "expose a dry-run parent-agent notification event without sending a parent callback";
    readonly unsafeSideEffects: false;
};
export declare function exposeNotifyParentAgentEvent(request?: NotifyParentAgentEventRequest): NotifyParentAgentEventResult;
