export type ResumeSubAgentEventBoundary = "input" | "contract" | "governance" | "runtime-state" | "scope";
export type ResumeSubAgentEventGate = {
    accepted: boolean;
    reason?: string;
};
export type ResumeSubAgentEventRequest = {
    runtimeId?: string;
    sessionId?: string;
    parentAgentId?: string;
    subAgentId?: string;
    invocationId?: string;
    eventSource?: "mainLoop" | "stateEngine" | "runtime.execEngine" | "multiagentInterface";
    resumeReason?: string;
    resumeToken?: string;
    governanceContext?: readonly string[];
    requestedSubscribers?: readonly string[];
    allowedSubscribers?: readonly string[];
    runtimeReady?: boolean;
    contract?: ResumeSubAgentEventGate;
    governance?: ResumeSubAgentEventGate;
};
export type ResumeSubAgentEventErrorCode = "MISSING_RUNTIME_ID" | "MISSING_SESSION_ID" | "MISSING_PARENT_AGENT_ID" | "MISSING_SUB_AGENT_ID" | "MISSING_INVOCATION_ID" | "RUNTIME_NOT_READY" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "SUBSCRIBER_SCOPE_DENIED";
export type ResumeSubAgentEventError = {
    code: ResumeSubAgentEventErrorCode;
    message: string;
    boundary: ResumeSubAgentEventBoundary;
    safeForRuntimeInspection: true;
    internalDetailExposed: false;
};
export type ResumeSubAgentEventRecord = {
    type: "multiAgent.subAgent.resume.requested";
    runtimeId: string;
    sessionId: string;
    route: "agent_executionEngine.coreLogic.eventExposurePlane.multiAgentInvocation";
    source: "mainLoop" | "stateEngine" | "runtime.execEngine" | "multiagentInterface";
    subject: {
        parentAgentId: string;
        subAgentId: string;
        invocationId: string;
    };
    payload: {
        action: "resume";
        resumeReason?: string;
        resumeTokenPresent: boolean;
        governanceContext: readonly string[];
    };
    contractSurface: "runtime.contractSurface";
    governanceRequired: true;
    dryRun: true;
    unsafeSideEffects: false;
};
export type ResumeSubAgentDispatchRecord = {
    mode: "dry-run";
    requestedSubscribers: readonly string[];
    deliverableSubscribers: readonly string[];
    actualResumeStarted: false;
};
export type ResumeSubAgentEventResult = {
    ok: true;
    event: ResumeSubAgentEventRecord;
    dispatch: ResumeSubAgentDispatchRecord;
    events: readonly string[];
} | {
    ok: false;
    error: ResumeSubAgentEventError;
    events: readonly string[];
};
export declare const resumeSubAgentEventDescriptor: {
    readonly type: "multiAgent.subAgent.resume.requested";
    readonly route: "agent_executionEngine.coreLogic.eventExposurePlane.multiAgentInvocation";
    readonly purpose: "expose a dry-run sub-agent resume invocation event without resuming a child agent";
    readonly unsafeSideEffects: false;
};
export declare function exposeResumeSubAgentEvent(request?: ResumeSubAgentEventRequest): ResumeSubAgentEventResult;
