/**
 * src/compute/strategies/tree-of-thoughts.ts
 *
 * Tree-of-Thoughts (ToT) compute strategy.
 *
 * Reference: Yao et al. 2023, "Tree of Thoughts: Deliberate Problem Solving
 * with Large Language Models", arXiv:2305.10601.
 *
 * Algorithm (paper §3):
 *   1. Build a tree of partial-solution states, root = empty/initial state.
 *   2. Expand each node into up to `branchFactor` children via the generator.
 *   3. Evaluate each state with a lightweight heuristic (no extra LLM call).
 *   4. BFS expands level-by-level; DFS goes depth-first with backtracking
 *      when score < pruning threshold.
 *   5. Bound total expansions by `maxCalls` (== generator-call budget).
 *   6. Return the highest-scoring leaf output.
 *
 * Default state-evaluator (no LLM):
 *   - string outputs : monotone progress score based on length (caps at 200)
 *   - number outputs : closeness to plausible-answer band [0, 100]
 *   - other          : 0.5 (neutral)
 *
 * @experimental Public-experimental API per `contract-stability.md` (sprint-582).
 */
import type { Strategy } from "../types.js";
export type ToTSearchPolicy = "bfs" | "dfs";
export interface ToTConfig {
    /** BFS or DFS. Default: "bfs". */
    searchPolicy: ToTSearchPolicy;
    /** Max tree depth (steps). Default: 3. */
    maxDepth: number;
    /** Max branching factor (children per node). Default: 3. */
    branchFactor: number;
    /** Hard cap on total generator calls. Default: maxDepth * branchFactor. */
    maxCalls: number;
    /** State evaluator → score in [0,1]. Default: heuristic on output shape. */
    evaluateState?: (state: unknown) => number;
    /** Prune any node whose evaluator score is below this. Default: 0.2. */
    pruneThreshold: number;
}
/**
 * Construct a Tree-of-Thoughts {@link Strategy}.
 *
 * @throws RangeError when `maxDepth`, `branchFactor`, or `maxCalls` is < 1.
 * @throws Error when `searchPolicy` is not "bfs" or "dfs".
 */
export declare function treeOfThoughtsStrategy<TInput, TOutput>(config?: Partial<ToTConfig>): Strategy<TInput, TOutput>;
//# sourceMappingURL=tree-of-thoughts.d.ts.map