import type { AgentApplicationMountRecord } from "./agentApplicationMount.js";
import type { AgentRuntimeDescriptor } from "./agentRuntimeBuilder.js";
export type AgentApplicationRuntimeErrorCode = "MISSING_RUNTIME" | "RUNTIME_NOT_READY" | "APPLICATION_NOT_MOUNTED" | "GOVERNANCE_REJECTED";
export type AgentApplicationRuntimeError = {
    code: AgentApplicationRuntimeErrorCode;
    message: string;
    boundary: "input" | "runtime-state" | "governance";
};
export type AgentApplicationRuntimeGate = {
    accepted: boolean;
    reason?: string;
};
export type AgentApplicationRuntimeRequest = {
    runtime?: AgentRuntimeDescriptor;
    mount?: AgentApplicationMountRecord;
    operation?: "create" | "invoke" | "observe" | "manage";
    governance?: AgentApplicationRuntimeGate;
};
export type AgentApplicationRuntimeSurface = {
    runtimeId: string;
    applicationId: string;
    operation: "create" | "invoke" | "observe" | "manage";
    status: "ready";
    visibleContext: {
        sourceKind: AgentRuntimeDescriptor["sourceKind"];
        assembledSurfaces: readonly string[];
        mountId: string;
    };
};
export type AgentApplicationRuntimeResult = {
    ok: true;
    surface: AgentApplicationRuntimeSurface;
    events: readonly string[];
} | {
    ok: false;
    error: AgentApplicationRuntimeError;
    events: readonly string[];
};
export declare function createAgentApplicationRuntime(request: AgentApplicationRuntimeRequest): AgentApplicationRuntimeResult;
