import type { TaskState, TaskType } from '../../app/common/enum/Task.ts'; import { Task as TaskEntity, type TaskUpdateCondition } from '../core/entity/Task.ts'; import { AbstractRepository } from './AbstractRepository.ts'; export declare class TaskRepository extends AbstractRepository { private readonly Task; private readonly HistoryTask; saveTask(task: TaskEntity): Promise; idempotentSaveTask(task: TaskEntity, condition: TaskUpdateCondition): Promise; saveTaskToHistory(task: TaskEntity): Promise; updateSpecificVersionsOfWaitingTask(task: TaskEntity, specificVersions?: string[]): Promise; findTask(taskId: string): Promise | null>; findTaskByBizId(bizId: string): Promise | null>; findTasks(taskIds: string[]): Promise; findTasksByCondition(where: { targetName?: string; state?: TaskState; type: TaskType; }): Promise; findTaskByTargetName(targetName: string, type: TaskType, state?: TaskState): Promise | null>; findTimeoutTasks(taskState: TaskState, timeout: number): Promise[]>; findTaskByAuthorIpAndType(authorIp: string, type: TaskType): Promise[]>; }