export type AgentApplicationMountErrorCode = "MISSING_APPLICATION_ID" | "MISSING_RUNTIME_ID" | "RUNTIME_NOT_READY" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED";
export type AgentApplicationMountError = {
    code: AgentApplicationMountErrorCode;
    message: string;
    boundary: "input" | "contract" | "governance" | "runtime-state";
};
export type AgentApplicationMountGate = {
    accepted: boolean;
    reason?: string;
};
export type AgentApplicationMountRequest = {
    applicationId: string;
    runtimeId: string;
    requestedCapabilities?: readonly string[];
    eventSubscriptions?: readonly string[];
    runtimeReady?: boolean;
    contract?: AgentApplicationMountGate;
    governance?: AgentApplicationMountGate;
};
export type AgentApplicationMountRecord = {
    mountId: string;
    applicationId: string;
    runtimeId: string;
    lifecycleState: "mounted";
    acceptedCapabilities: readonly string[];
    eventSubscriptions: readonly string[];
    governanceState: "accepted";
};
export type AgentApplicationMountResult = {
    ok: true;
    record: AgentApplicationMountRecord;
    events: readonly string[];
} | {
    ok: false;
    error: AgentApplicationMountError;
    events: readonly string[];
};
export declare function mountAgentApplication(request: AgentApplicationMountRequest): AgentApplicationMountResult;
