import type { string_parameter_name } from '../../types/string_name';
import type { LlmExecutionTools } from '../LlmExecutionTools';
import type { $OngoingTaskResult } from './$OngoingTaskResult';
import type { ExecuteAttemptsOptions } from './40-executeAttempts';
/**
 * Executes one loop iteration, from joker resolution or task execution through validation.
 *
 * @private function of `executeAttempts`
 */
export declare function executeSingleAttempt(options: {
    /**
     * Metadata describing the current loop iteration.
     */
    readonly attempt: {
        readonly attemptIndex: number;
        readonly isJokerAttempt: boolean;
        readonly jokerParameterName?: string_parameter_name;
    };
    /**
     * Immutable executor options shared across all attempts.
     */
    readonly options: ExecuteAttemptsOptions;
    /**
     * Narrowed LLM execution tools for prompt tasks.
     */
    readonly llmTools: LlmExecutionTools;
    /**
     * Mutable per-task state accumulated across attempts.
     */
    readonly $ongoingTaskResult: $OngoingTaskResult;
}): Promise<void>;
