import type { ActiveTurn } from "#client/eve-agent-store-state.js";
import type { CancelSessionResult, SendTurnPayload } from "#client/types.js";
import { type MessageStreamEvent } from "#protocol/message.js";
import type { UserContent } from "ai";
export declare function isSettledSessionTail(events: readonly MessageStreamEvent[]): boolean;
export declare function collectPendingAuthorizations(events: readonly MessageStreamEvent[]): Set<string>;
export declare function assertExclusiveTurnInput(input: SendTurnPayload): void;
export declare function createSubmissionId(): string;
export declare function createAbortSignal(first: AbortSignal | undefined, second: AbortSignal): AbortSignal;
export declare function summarizeUserContent(message: string | UserContent): string;
export declare function isAbortError(error: unknown): boolean;
export declare function toTerminalStreamFailureError(event: MessageStreamEvent): Error | undefined;
export declare function createActiveTurn(cancel: (turn: ActiveTurn) => Promise<CancelSessionResult>): ActiveTurn;
export declare function followSteeredTurns(turn: ActiveTurn, events: AsyncIterable<MessageStreamEvent>, isActive: () => boolean): Promise<void>;
/** Aborts a caller's wait without cancelling shared work owned by the store. */
export declare function waitWithSignal<T>(promise: Promise<T>, signal?: AbortSignal): Promise<T>;
