/**
 * remote/events — the SessionEvent schema for remote agent control.
 *
 * A running agent emits a stream of `SessionEvent`s; a remote client (a phone
 * app, a browser, another terminal) consumes them to observe — and intervene
 * on — the work in progress.
 *
 * The schema is aligned with the **AG-UI Protocol** (Agent-User Interaction
 * Protocol — the emerging standard adopted by AWS Bedrock AgentCore, Google,
 * CopilotKit). Event `type` strings mirror AG-UI's vocabulary so any
 * AG-UI-aware client interoperates. Two Vauban extensions go beyond AG-UI:
 *   - `tool.intent` — the agent announces what it is ABOUT to do before doing
 *     it (the "veto window" — transparency before action, not after).
 *   - every event carries an optional `sig` field — an Ed25519 signature of
 *     the canonical event, so the remote-control transcript is itself a
 *     tamper-evident audit trail (EU AI Act Art. 12).
 *
 * @public @since 2.11.0 — preste remote-control T1
 */
import { z } from "zod";
/** The run began. Mirrors AG-UI RUN_STARTED. */
export declare const RunStartPayloadSchema: z.ZodObject<{
    runId: z.ZodString;
    agentId: z.ZodString;
    agentVersion: z.ZodOptional<z.ZodString>;
    /** The user message / task that started the run. */
    task: z.ZodOptional<z.ZodString>;
    startedAt: z.ZodString;
}, "strict", z.ZodTypeAny, {
    agentId: string;
    runId: string;
    startedAt: string;
    agentVersion?: string | undefined;
    task?: string | undefined;
}, {
    agentId: string;
    runId: string;
    startedAt: string;
    agentVersion?: string | undefined;
    task?: string | undefined;
}>;
/** A loop step completed. Vauban granularity on top of AG-UI. */
export declare const RunStepPayloadSchema: z.ZodObject<{
    stepIndex: z.ZodNumber;
    inputTokens: z.ZodNumber;
    outputTokens: z.ZodNumber;
    costUsd: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
    inputTokens: number;
    outputTokens: number;
    costUsd: number;
    stepIndex: number;
}, {
    inputTokens: number;
    outputTokens: number;
    costUsd: number;
    stepIndex: number;
}>;
/** A streamed assistant token delta. Mirrors AG-UI TEXT_MESSAGE_CONTENT. */
export declare const AssistantDeltaPayloadSchema: z.ZodObject<{
    text: z.ZodString;
}, "strict", z.ZodTypeAny, {
    text: string;
}, {
    text: string;
}>;
/** A complete assistant message for a step. Mirrors AG-UI TEXT_MESSAGE_END. */
export declare const AssistantMessagePayloadSchema: z.ZodObject<{
    content: z.ZodString;
}, "strict", z.ZodTypeAny, {
    content: string;
}, {
    content: string;
}>;
/**
 * The agent ANNOUNCES a tool call before executing it — the veto window.
 * Vauban extension: no AG-UI equivalent. A remote client gets a chance to
 * reject during `vetoWindowMs` before the call runs.
 */
export declare const ToolIntentPayloadSchema: z.ZodObject<{
    callId: z.ZodString;
    toolName: z.ZodString;
    /** Canonical, possibly-truncated args preview. */
    argsPreview: z.ZodString;
    /** One-line rationale: why the agent intends this call. */
    rationale: z.ZodOptional<z.ZodString>;
    /** Milliseconds the client has to veto before the call proceeds. */
    vetoWindowMs: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
    callId: string;
    toolName: string;
    argsPreview: string;
    vetoWindowMs: number;
    rationale?: string | undefined;
}, {
    callId: string;
    toolName: string;
    argsPreview: string;
    vetoWindowMs: number;
    rationale?: string | undefined;
}>;
/** A tool call started. Mirrors AG-UI TOOL_CALL_START. */
export declare const ToolCallStartPayloadSchema: z.ZodObject<{
    callId: z.ZodString;
    toolName: z.ZodString;
    argsPreview: z.ZodString;
}, "strict", z.ZodTypeAny, {
    callId: string;
    toolName: string;
    argsPreview: string;
}, {
    callId: string;
    toolName: string;
    argsPreview: string;
}>;
/** A tool call finished. Mirrors AG-UI TOOL_CALL_END. */
export declare const ToolCallEndPayloadSchema: z.ZodObject<{
    callId: z.ZodString;
    toolName: z.ZodString;
    ok: z.ZodBoolean;
    /** Truncated result/output summary. */
    resultPreview: z.ZodString;
    durationMs: z.ZodOptional<z.ZodNumber>;
}, "strict", z.ZodTypeAny, {
    callId: string;
    toolName: string;
    ok: boolean;
    resultPreview: string;
    durationMs?: number | undefined;
}, {
    callId: string;
    toolName: string;
    ok: boolean;
    resultPreview: string;
    durationMs?: number | undefined;
}>;
/** A HITL approval is pending. Mirrors AG-UI RUN_FINISHED(interrupt). */
export declare const HitlRequestPayloadSchema: z.ZodObject<{
    requestId: z.ZodString;
    action: z.ZodString;
    context: z.ZodString;
    /** Deadline after which the timeout policy fires (ISO8601). */
    expiresAt: z.ZodOptional<z.ZodString>;
}, "strict", z.ZodTypeAny, {
    requestId: string;
    action: string;
    context: string;
    expiresAt?: string | undefined;
}, {
    requestId: string;
    action: string;
    context: string;
    expiresAt?: string | undefined;
}>;
/** A HITL request was resolved. */
export declare const HitlResolvedPayloadSchema: z.ZodObject<{
    requestId: z.ZodString;
    approved: z.ZodBoolean;
    by: z.ZodString;
}, "strict", z.ZodTypeAny, {
    approved: boolean;
    requestId: string;
    by: string;
}, {
    approved: boolean;
    requestId: string;
    by: string;
}>;
/** A remote client injected an instruction into the running session. */
export declare const InstructionInjectedPayloadSchema: z.ZodObject<{
    text: z.ZodString;
    source: z.ZodString;
    /** When true, the instruction steers but is not shown as a user turn. */
    whisper: z.ZodDefault<z.ZodBoolean>;
}, "strict", z.ZodTypeAny, {
    source: string;
    text: string;
    whisper: boolean;
}, {
    source: string;
    text: string;
    whisper?: boolean | undefined;
}>;
/** The run finished. Mirrors AG-UI RUN_FINISHED. */
export declare const RunFinishedPayloadSchema: z.ZodObject<{
    runId: z.ZodString;
    stopReason: z.ZodString;
    stepCount: z.ZodNumber;
    costUsd: z.ZodNumber;
    finishedAt: z.ZodString;
}, "strict", z.ZodTypeAny, {
    runId: string;
    costUsd: number;
    stopReason: string;
    stepCount: number;
    finishedAt: string;
}, {
    runId: string;
    costUsd: number;
    stopReason: string;
    stepCount: number;
    finishedAt: string;
}>;
/** A periodic snapshot of session state. Mirrors AG-UI STATE_SNAPSHOT. */
export declare const StatePayloadSchema: z.ZodObject<{
    runId: z.ZodString;
    stepCount: z.ZodNumber;
    costUsd: z.ZodNumber;
    elapsedMs: z.ZodNumber;
    pendingHitl: z.ZodNumber;
}, "strict", z.ZodTypeAny, {
    runId: string;
    costUsd: number;
    stepCount: number;
    elapsedMs: number;
    pendingHitl: number;
}, {
    runId: string;
    costUsd: number;
    stepCount: number;
    elapsedMs: number;
    pendingHitl: number;
}>;
/**
 * @deprecated Legacy dotted-lowercase `type: "run.start"` is renamed to
 *   canonical AG-UI `"RUN_STARTED"`. Will be removed in
 *   `@vauban-org/agent-sdk@3.0.0`. Opt-in early via
 *   `createRemoteControlHub({ eventNaming: "canonical" })`.
 */
export declare const SessionEventSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
    data: z.ZodObject<{
        runId: z.ZodString;
        agentId: z.ZodString;
        agentVersion: z.ZodOptional<z.ZodString>;
        /** The user message / task that started the run. */
        task: z.ZodOptional<z.ZodString>;
        startedAt: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        agentId: string;
        runId: string;
        startedAt: string;
        agentVersion?: string | undefined;
        task?: string | undefined;
    }, {
        agentId: string;
        runId: string;
        startedAt: string;
        agentVersion?: string | undefined;
        task?: string | undefined;
    }>;
    id: z.ZodString;
    seq: z.ZodNumber;
    ts: z.ZodString;
    sig: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"run.start">;
}, "strip", z.ZodTypeAny, {
    type: "run.start";
    id: string;
    data: {
        agentId: string;
        runId: string;
        startedAt: string;
        agentVersion?: string | undefined;
        task?: string | undefined;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}, {
    type: "run.start";
    id: string;
    data: {
        agentId: string;
        runId: string;
        startedAt: string;
        agentVersion?: string | undefined;
        task?: string | undefined;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}>, z.ZodObject<{
    data: z.ZodObject<{
        stepIndex: z.ZodNumber;
        inputTokens: z.ZodNumber;
        outputTokens: z.ZodNumber;
        costUsd: z.ZodNumber;
    }, "strict", z.ZodTypeAny, {
        inputTokens: number;
        outputTokens: number;
        costUsd: number;
        stepIndex: number;
    }, {
        inputTokens: number;
        outputTokens: number;
        costUsd: number;
        stepIndex: number;
    }>;
    id: z.ZodString;
    seq: z.ZodNumber;
    ts: z.ZodString;
    sig: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"run.step">;
}, "strip", z.ZodTypeAny, {
    type: "run.step";
    id: string;
    data: {
        inputTokens: number;
        outputTokens: number;
        costUsd: number;
        stepIndex: number;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}, {
    type: "run.step";
    id: string;
    data: {
        inputTokens: number;
        outputTokens: number;
        costUsd: number;
        stepIndex: number;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}>, z.ZodObject<{
    data: z.ZodObject<{
        text: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        text: string;
    }, {
        text: string;
    }>;
    id: z.ZodString;
    seq: z.ZodNumber;
    ts: z.ZodString;
    sig: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"assistant.delta">;
}, "strip", z.ZodTypeAny, {
    type: "assistant.delta";
    id: string;
    data: {
        text: string;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}, {
    type: "assistant.delta";
    id: string;
    data: {
        text: string;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}>, z.ZodObject<{
    data: z.ZodObject<{
        content: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        content: string;
    }, {
        content: string;
    }>;
    id: z.ZodString;
    seq: z.ZodNumber;
    ts: z.ZodString;
    sig: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"assistant.message">;
}, "strip", z.ZodTypeAny, {
    type: "assistant.message";
    id: string;
    data: {
        content: string;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}, {
    type: "assistant.message";
    id: string;
    data: {
        content: string;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}>, z.ZodObject<{
    data: z.ZodObject<{
        callId: z.ZodString;
        toolName: z.ZodString;
        /** Canonical, possibly-truncated args preview. */
        argsPreview: z.ZodString;
        /** One-line rationale: why the agent intends this call. */
        rationale: z.ZodOptional<z.ZodString>;
        /** Milliseconds the client has to veto before the call proceeds. */
        vetoWindowMs: z.ZodNumber;
    }, "strict", z.ZodTypeAny, {
        callId: string;
        toolName: string;
        argsPreview: string;
        vetoWindowMs: number;
        rationale?: string | undefined;
    }, {
        callId: string;
        toolName: string;
        argsPreview: string;
        vetoWindowMs: number;
        rationale?: string | undefined;
    }>;
    id: z.ZodString;
    seq: z.ZodNumber;
    ts: z.ZodString;
    sig: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"tool.intent">;
}, "strip", z.ZodTypeAny, {
    type: "tool.intent";
    id: string;
    data: {
        callId: string;
        toolName: string;
        argsPreview: string;
        vetoWindowMs: number;
        rationale?: string | undefined;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}, {
    type: "tool.intent";
    id: string;
    data: {
        callId: string;
        toolName: string;
        argsPreview: string;
        vetoWindowMs: number;
        rationale?: string | undefined;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}>, z.ZodObject<{
    data: z.ZodObject<{
        callId: z.ZodString;
        toolName: z.ZodString;
        argsPreview: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        callId: string;
        toolName: string;
        argsPreview: string;
    }, {
        callId: string;
        toolName: string;
        argsPreview: string;
    }>;
    id: z.ZodString;
    seq: z.ZodNumber;
    ts: z.ZodString;
    sig: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"tool.call.start">;
}, "strip", z.ZodTypeAny, {
    type: "tool.call.start";
    id: string;
    data: {
        callId: string;
        toolName: string;
        argsPreview: string;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}, {
    type: "tool.call.start";
    id: string;
    data: {
        callId: string;
        toolName: string;
        argsPreview: string;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}>, z.ZodObject<{
    data: z.ZodObject<{
        callId: z.ZodString;
        toolName: z.ZodString;
        ok: z.ZodBoolean;
        /** Truncated result/output summary. */
        resultPreview: z.ZodString;
        durationMs: z.ZodOptional<z.ZodNumber>;
    }, "strict", z.ZodTypeAny, {
        callId: string;
        toolName: string;
        ok: boolean;
        resultPreview: string;
        durationMs?: number | undefined;
    }, {
        callId: string;
        toolName: string;
        ok: boolean;
        resultPreview: string;
        durationMs?: number | undefined;
    }>;
    id: z.ZodString;
    seq: z.ZodNumber;
    ts: z.ZodString;
    sig: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"tool.call.end">;
}, "strip", z.ZodTypeAny, {
    type: "tool.call.end";
    id: string;
    data: {
        callId: string;
        toolName: string;
        ok: boolean;
        resultPreview: string;
        durationMs?: number | undefined;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}, {
    type: "tool.call.end";
    id: string;
    data: {
        callId: string;
        toolName: string;
        ok: boolean;
        resultPreview: string;
        durationMs?: number | undefined;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}>, z.ZodObject<{
    data: z.ZodObject<{
        requestId: z.ZodString;
        action: z.ZodString;
        context: z.ZodString;
        /** Deadline after which the timeout policy fires (ISO8601). */
        expiresAt: z.ZodOptional<z.ZodString>;
    }, "strict", z.ZodTypeAny, {
        requestId: string;
        action: string;
        context: string;
        expiresAt?: string | undefined;
    }, {
        requestId: string;
        action: string;
        context: string;
        expiresAt?: string | undefined;
    }>;
    id: z.ZodString;
    seq: z.ZodNumber;
    ts: z.ZodString;
    sig: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"hitl.request">;
}, "strip", z.ZodTypeAny, {
    type: "hitl.request";
    id: string;
    data: {
        requestId: string;
        action: string;
        context: string;
        expiresAt?: string | undefined;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}, {
    type: "hitl.request";
    id: string;
    data: {
        requestId: string;
        action: string;
        context: string;
        expiresAt?: string | undefined;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}>, z.ZodObject<{
    data: z.ZodObject<{
        requestId: z.ZodString;
        approved: z.ZodBoolean;
        by: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        approved: boolean;
        requestId: string;
        by: string;
    }, {
        approved: boolean;
        requestId: string;
        by: string;
    }>;
    id: z.ZodString;
    seq: z.ZodNumber;
    ts: z.ZodString;
    sig: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"hitl.resolved">;
}, "strip", z.ZodTypeAny, {
    type: "hitl.resolved";
    id: string;
    data: {
        approved: boolean;
        requestId: string;
        by: string;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}, {
    type: "hitl.resolved";
    id: string;
    data: {
        approved: boolean;
        requestId: string;
        by: string;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}>, z.ZodObject<{
    data: z.ZodObject<{
        text: z.ZodString;
        source: z.ZodString;
        /** When true, the instruction steers but is not shown as a user turn. */
        whisper: z.ZodDefault<z.ZodBoolean>;
    }, "strict", z.ZodTypeAny, {
        source: string;
        text: string;
        whisper: boolean;
    }, {
        source: string;
        text: string;
        whisper?: boolean | undefined;
    }>;
    id: z.ZodString;
    seq: z.ZodNumber;
    ts: z.ZodString;
    sig: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"instruction.injected">;
}, "strip", z.ZodTypeAny, {
    type: "instruction.injected";
    id: string;
    data: {
        source: string;
        text: string;
        whisper: boolean;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}, {
    type: "instruction.injected";
    id: string;
    data: {
        source: string;
        text: string;
        whisper?: boolean | undefined;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}>, z.ZodObject<{
    data: z.ZodObject<{
        runId: z.ZodString;
        stopReason: z.ZodString;
        stepCount: z.ZodNumber;
        costUsd: z.ZodNumber;
        finishedAt: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        runId: string;
        costUsd: number;
        stopReason: string;
        stepCount: number;
        finishedAt: string;
    }, {
        runId: string;
        costUsd: number;
        stopReason: string;
        stepCount: number;
        finishedAt: string;
    }>;
    id: z.ZodString;
    seq: z.ZodNumber;
    ts: z.ZodString;
    sig: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"run.finished">;
}, "strip", z.ZodTypeAny, {
    type: "run.finished";
    id: string;
    data: {
        runId: string;
        costUsd: number;
        stopReason: string;
        stepCount: number;
        finishedAt: string;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}, {
    type: "run.finished";
    id: string;
    data: {
        runId: string;
        costUsd: number;
        stopReason: string;
        stepCount: number;
        finishedAt: string;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}>, z.ZodObject<{
    data: z.ZodObject<{
        runId: z.ZodString;
        stepCount: z.ZodNumber;
        costUsd: z.ZodNumber;
        elapsedMs: z.ZodNumber;
        pendingHitl: z.ZodNumber;
    }, "strict", z.ZodTypeAny, {
        runId: string;
        costUsd: number;
        stepCount: number;
        elapsedMs: number;
        pendingHitl: number;
    }, {
        runId: string;
        costUsd: number;
        stepCount: number;
        elapsedMs: number;
        pendingHitl: number;
    }>;
    id: z.ZodString;
    seq: z.ZodNumber;
    ts: z.ZodString;
    sig: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"state">;
}, "strip", z.ZodTypeAny, {
    type: "state";
    id: string;
    data: {
        runId: string;
        costUsd: number;
        stepCount: number;
        elapsedMs: number;
        pendingHitl: number;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}, {
    type: "state";
    id: string;
    data: {
        runId: string;
        costUsd: number;
        stepCount: number;
        elapsedMs: number;
        pendingHitl: number;
    };
    seq: number;
    ts: string;
    sig?: string | undefined;
}>]>;
export type SessionEvent = z.infer<typeof SessionEventSchema>;
export type SessionEventType = SessionEvent["type"];
/**
 * Permissive runtime guard ; true when `input` looks like a SessionEvent
 * (legacy OR canonical AG-UI form). Used by relay-client + PWA + conformance
 * suite so the same handler can accept events emitted in either mode.
 *
 * The guard checks only the envelope ; it does NOT validate the payload
 * shape against `SessionEventSchema`. For full validation, use
 * `SessionEventSchema.safeParse(input)` separately.
 *
 * @public @since 2.27.0
 */
export declare function looksLikeSessionEvent(input: unknown): boolean;
/**
 * Build a well-formed SessionEvent envelope around a payload.
 *
 * `seq` is monotonic process-wide; `id` is unique. The event is NOT signed
 * here — `signing.ts` adds `sig` as a separate, optional step so the SDK
 * stays free of a hard crypto dependency.
 */
export declare function makeEvent<T extends SessionEvent["type"]>(type: T, data: Extract<SessionEvent, {
    type: T;
}>["data"]): SessionEvent;
/** Reset the monotonic sequence — test-only. */
export declare function __resetEventSeq(): void;
//# sourceMappingURL=events.d.ts.map