import { type InvocationEnvelope, type InvocationEnvelopeError, type InvocationEnvelopeGate, type InvocationEnvelopeSource, type InvocationEnvelopeTrace } from "./invocationEnvelope.js";
export type AgentInvocationEntrypointRequest = {
    runtimeId: string;
    agentId: string;
    source: InvocationEnvelopeSource;
    input?: unknown;
    runtimeReady?: boolean;
    requestedScopes?: readonly string[];
    allowedScopes?: readonly string[];
    contract?: InvocationEnvelopeGate;
    governance?: InvocationEnvelopeGate;
    trace?: InvocationEnvelopeTrace;
};
export type AgentInvocationPlan = {
    invocationType: "agent";
    runtimeId: string;
    agentId: string;
    envelope: InvocationEnvelope;
    dispatch: "dry-run";
    touchesExecutionEngine: false;
};
export type AgentInvocationEntrypointResult = {
    ok: true;
    plan: AgentInvocationPlan;
    events: readonly string[];
} | {
    ok: false;
    error: InvocationEnvelopeError;
    events: readonly string[];
};
export declare function createAgentInvocationEntrypoint(request: AgentInvocationEntrypointRequest): AgentInvocationEntrypointResult;
