import { Connection } from 'mongoose';
import taskModel from './mongoose/model/task';
import * as factory from '../factory';
/**
 * タスクリポジトリ
 */
export declare class MongoRepository {
    readonly taskModel: typeof taskModel;
    constructor(connection: Connection);
    save(taskAttributes: factory.task.IAttributes): Promise<factory.task.ITask>;
    executeOneByName(taskName: factory.taskName): Promise<factory.task.ITask | null>;
    retry(intervalInMinutes: number): Promise<void>;
    abortOne(intervalInMinutes: number): Promise<factory.task.ITask | null>;
    pushExecutionResultById(id: string, status: factory.taskStatus, executionResult: factory.taskExecutionResult.IAttributes): Promise<void>;
}
