import type { ChatMessage, NativeToolCall, ReasoningArtifact, ReasoningArtifactKind, ReasoningArtifactProvenance, ReasoningArtifactReplayDecision, ReasoningArtifactReplayTarget } from "../types.js"; import { legacyReasoningBlockFromArtifacts } from "./artifacts/legacy-blocks.js"; export { reasoningArtifactReplayDecision, selectReasoningArtifactsForReplay, } from "./artifacts/replay-selection.js"; export { legacyReasoningBlockFromArtifacts }; export interface CreateReasoningArtifactInput { readonly kind: ReasoningArtifactKind; readonly raw: ReasoningArtifact["raw"]; readonly displaySummary?: string | undefined; readonly provenance: ReasoningArtifactProvenance; readonly replay: ReasoningArtifact["replay"]; readonly position?: ReasoningArtifact["position"] | undefined; } export interface ReasoningArtifactReplayContext { readonly hasToolCalls?: boolean | undefined; readonly forceScope?: boolean | undefined; } export declare function createReasoningArtifactProvenance(input: { provider: ReasoningArtifactProvenance["provider"]; model?: string | undefined; dialect: ReasoningArtifactProvenance["dialect"]; endpoint?: string | undefined; legacy?: true | undefined; }): ReasoningArtifactProvenance; export declare function createReasoningArtifactReplayTarget(input: { provider: ReasoningArtifactReplayTarget["provider"]; model: string; dialect: ReasoningArtifactReplayTarget["dialect"]; endpoint?: string | undefined; }): ReasoningArtifactReplayTarget; export declare function createReasoningArtifact(input: CreateReasoningArtifactInput): ReasoningArtifact; /** Returns the plaintext payload only for plaintext/signed artifact formats. */ export declare function reasoningArtifactText(artifact: ReasoningArtifact): string | undefined; export declare function reasoningArtifactSignature(artifact: ReasoningArtifact): string | undefined; export declare function reasoningArtifactItems(artifact: ReasoningArtifact): Array>; export declare function reasoningArtifactsForMessage(message: ChatMessage): readonly ReasoningArtifact[]; export declare function canonicalizeChatMessageReasoningArtifacts(message: ChatMessage): ChatMessage; export declare function reasoningArtifactTokensForMessage(message: ChatMessage): number; export declare function visibleReasoningDetailText(raw: ReasoningArtifact["raw"] | undefined): string | undefined; export declare function reasoningArtifactsObserved(artifacts: readonly ReasoningArtifact[] | undefined): boolean; export interface SignedThinkingArtifactInput { readonly sequence: number; readonly thinking: string; readonly signature?: string | undefined; readonly raw: ReasoningArtifact["raw"]; readonly toolCallIndex?: number | undefined; } export declare function createSignedThinkingArtifacts(input: { blocks: readonly SignedThinkingArtifactInput[]; provenance: ReasoningArtifactProvenance; }): readonly ReasoningArtifact[]; export declare function rebindReasoningArtifactsToToolCalls(input: { artifacts: readonly ReasoningArtifact[] | undefined; toolCalls: readonly NativeToolCall[]; }): readonly ReasoningArtifact[] | undefined; export declare function reasoningArtifactsForPersistence(input: { artifacts: readonly ReasoningArtifact[] | undefined; hasToolCalls: boolean; }): readonly ReasoningArtifact[] | undefined; export declare function decision(artifact: ReasoningArtifact, target: ReasoningArtifactReplayTarget, action: ReasoningArtifactReplayDecision["action"], reason?: ReasoningArtifactReplayDecision["reason"] | undefined): ReasoningArtifactReplayDecision;