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