export type AgentRuntimeSessionCallState = "idle" | "invoking" | "streaming" | "closed";
export type AgentRuntimeSessionFactoryErrorCode = "MISSING_RUNTIME_ID" | "MISSING_APPLICATION_ID" | "MISSING_AGENT_ID" | "RUNTIME_NOT_READY" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED";
export type AgentRuntimeSessionFactoryError = {
    code: AgentRuntimeSessionFactoryErrorCode;
    message: string;
    boundary: "input" | "runtime-state" | "contract" | "governance";
};
export type AgentRuntimeSessionFactoryGate = {
    accepted: boolean;
    reason?: string;
};
export type AgentRuntimeSessionFactoryRequest = {
    runtimeId: string;
    applicationId: string;
    agentId: string;
    sessionKey?: string;
    initialContextKeys?: readonly string[];
    callState?: AgentRuntimeSessionCallState;
    runtimeReady?: boolean;
    contract?: AgentRuntimeSessionFactoryGate;
    governance?: AgentRuntimeSessionFactoryGate;
};
export type AgentRuntimeSession = {
    sessionId: string;
    runtimeId: string;
    applicationId: string;
    agentId: string;
    sessionKey: string;
    contextKeys: readonly string[];
    callState: AgentRuntimeSessionCallState;
    isolation: "runtime-session";
    unsafeSideEffects: false;
};
export type AgentRuntimeSessionFactoryResult = {
    ok: true;
    session: AgentRuntimeSession;
    events: readonly string[];
} | {
    ok: false;
    error: AgentRuntimeSessionFactoryError;
    events: readonly string[];
};
export declare function createAgentRuntimeSession(request: AgentRuntimeSessionFactoryRequest): AgentRuntimeSessionFactoryResult;
