export type AgentRuntimeBuildSourceKind = "dsl" | "spec" | "class" | "manifest" | "configuration";
export type AgentRuntimeBuildErrorCode = "MISSING_SOURCE" | "MISSING_RUNTIME_NAME" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED";
export type AgentRuntimeBuildError = {
    code: AgentRuntimeBuildErrorCode;
    message: string;
    boundary: "input" | "contract" | "governance";
};
export type AgentRuntimeBuildGate = {
    accepted: boolean;
    reason?: string;
};
export type AgentRuntimeBuildSource = {
    kind: AgentRuntimeBuildSourceKind;
    name: string;
    version?: string;
};
export type AgentRuntimeBuildRequest = {
    source?: AgentRuntimeBuildSource;
    requestedSurfaces?: readonly string[];
    contract?: AgentRuntimeBuildGate;
    governance?: AgentRuntimeBuildGate;
};
export type AgentRuntimeDescriptor = {
    runtimeId: string;
    sourceKind: AgentRuntimeBuildSourceKind;
    name: string;
    version?: string;
    readiness: "building" | "ready" | "failed";
    assembledSurfaces: readonly string[];
    unsafeSideEffects: false;
};
export type AgentRuntimeBuildResult = {
    ok: true;
    runtime: AgentRuntimeDescriptor;
    events: readonly string[];
} | {
    ok: false;
    error: AgentRuntimeBuildError;
    events: readonly string[];
};
export declare function buildAgentRuntime(request: AgentRuntimeBuildRequest): AgentRuntimeBuildResult;
