/**
 * Task execution logic
 */
import type { TaskRunner, TaskInfo } from '../../../infra/task/index.js';
import type { TaskExecutionOptions, ExecuteTaskOptions, WorkflowExecutionResult, TaskExecutionParallelOptions } from './types.js';
export type { TaskExecutionOptions, ExecuteTaskOptions };
export declare function executeTaskWithResult(options: ExecuteTaskOptions): Promise<WorkflowExecutionResult>;
/**
 * Execute a single task with workflow.
 */
export declare function executeTask(options: ExecuteTaskOptions): Promise<boolean>;
/**
 * Execute a task: resolve clone → run workflow → auto-commit+push → remove clone → record completion.
 *
 * Shared by watch/list/retry flows to avoid duplicated
 * resolve → execute → autoCommit → complete logic.
 *
 * @returns true if the task succeeded
 */
export declare function executeAndCompleteTask(task: TaskInfo, taskRunner: TaskRunner, cwd: string, taskExecutionOptions?: TaskExecutionOptions, parallelOptions?: TaskExecutionParallelOptions): Promise<boolean>;
export declare function executeTaskAndCompleteWithResult(task: TaskInfo, taskRunner: TaskRunner, cwd: string, taskExecutor: (options: ExecuteTaskOptions) => Promise<WorkflowExecutionResult>, taskExecutionOptions?: TaskExecutionOptions, parallelOptions?: TaskExecutionParallelOptions): Promise<boolean>;
//# sourceMappingURL=taskExecution.d.ts.map