import type { RuntimeCompiledArtifactsSource } from "#runtime/compiled-artifacts-source.js";
import { type DurableSessionState } from "#execution/durable-session-store.js";
import type { JsonObject } from "#shared/json.js";
/**
 * Result returned by {@link createSessionStep}.
 *
 * Exposes the projected {@link DurableSessionState} the driver needs to
 * drive the turn loop.
 */
export interface CreateSessionStepResult {
    readonly state: DurableSessionState;
}
/**
 * Creates the durable session and returns the initial snapshot-bearing
 * state before the workflow enters its turn loop.
 * `nodeId` targets a subagent node in the compiled graph; omitted for
 * the root agent.
 *
 * Emits the session/subagent-root `$eve.*` tags from inside this step
 * (so the attribute write folds into a step the session already runs)
 * and returns the durable state value the driver consumes.
 */
export declare function createSessionStep(input: {
    readonly compiledArtifactsSource: RuntimeCompiledArtifactsSource;
    readonly continuationToken: string;
    /**
     * First user message of the run, used to derive `$eve.title` for
     * top-level sessions. Threaded in so the session/subagent-root tags
     * can be emitted from inside this step (see the tag write below)
     * instead of the workflow body, where each `setEveAttributes` call
     * spends a standalone `__builtin_set_attributes` step.
     */
    readonly inputMessage: unknown;
    readonly outputSchema?: JsonObject;
    readonly nodeId?: string;
    readonly rootSessionId?: string;
    /**
     * Shared serialized context, read for `$eve.trigger` (channel kind)
     * and to detect whether this run is a delegated subagent root.
     */
    readonly serializedContext: Record<string, unknown>;
    readonly sessionId: string;
}): Promise<CreateSessionStepResult>;
