import { type TodoItem } from '@wrongstack/core/agent'; import type { ContentBlock } from '@wrongstack/core/types'; import { createAutoProceedLoopGuard } from '@wrongstack/tools/auto-proceed-loop-guard'; import { type Dispatch, type MutableRefObject, type SetStateAction } from 'react'; import type { Action } from '../app-action-type.js'; import type { AppProps } from '../app-props.js'; import type { State } from '../app-state.js'; interface NextStepsAutoSubmitOptions { state: State; autonomyLive: string; agent: AppProps['agent']; getAutonomy: AppProps['getAutonomy']; getSettings: AppProps['getSettings']; getSuggestions: AppProps['getSuggestions']; getAutoSuggestions: AppProps['getAutoSuggestions']; getYolo: AppProps['getYolo']; setSuggestions: AppProps['setSuggestions']; autonomyNextPrompt: AppProps['autonomyNextPrompt']; dispatch: Dispatch; clearDraft: () => void; runBlocksRef: MutableRefObject<(blocks: ContentBlock[]) => Promise>; } export interface AutoProceedCandidateInput { todos?: readonly TodoItem[] | undefined; suggestions?: readonly string[] | undefined; autoSuggestions?: readonly string[] | undefined; yolo?: boolean | undefined; autonomyNextPrompt?: string | undefined; } export interface AutoProceedCandidate { source: 'todo' | 'suggestion' | 'auto-suggestion'; prompt: string; label: string; todoId?: string | undefined; } /** Resolve one grounded automatic turn without mutating either suggestion store. */ export declare function selectAutoProceedCandidate({ todos, suggestions, autoSuggestions, yolo, autonomyNextPrompt, }: AutoProceedCandidateInput): AutoProceedCandidate | null; /** Owns grounded next-step countdowns and automatic-turn loop guards. */ export declare function useNextStepsAutoSubmit({ state, autonomyLive, agent, getAutonomy, getSettings, getSuggestions, getAutoSuggestions, getYolo, setSuggestions, autonomyNextPrompt, dispatch, clearDraft, runBlocksRef, }: NextStepsAutoSubmitOptions): { nextStepsAutoSubmitCountdown: number | null; nextStepsAutoSubmitLabel: string | null; setNextStepsAutoSubmitCountdown: Dispatch>; setNextStepsAutoSubmitLabel: Dispatch>; nextStepsAutoSubmitSuggestionRef: MutableRefObject; nextStepsAutoSubmitTimerRef: MutableRefObject | undefined>; autoSubmitStreakRef: MutableRefObject; autoSubmitCapWarnedRef: MutableRefObject; autoSubmitLoopGuardRef: MutableRefObject>; cancelNextStepsCountdown: () => void; }; export {}; //# sourceMappingURL=use-next-steps-auto-submit.d.ts.map