import { BpmsEngine } from '../BpmsEngine'; import { TaskRepository } from './TaskRepository'; import { QueryOptions, QueryResult, ScalarOptions, FilterExpression, IdExpression } from '../data/Repository'; import { BpmsService } from '../BpmsService'; export interface BpmsTask { id?: string; title?: string; descriptions?: string; type?: string; activityType?: string; name?: string; assignee?: { userId: IdExpression; username: string; fullname?: string; avatar?: string; }; priority?: number; tenantId?: string; definitionId?: string; definitionName?: string; definitionVersion?: number; processInstanceId?: string; processInstanceName?: string; processExecutionId?: string; activityId?: string; createdAt?: Date; seenAt?: Date; updatedAt?: Date; completedAt?: Date; dueDate?: Date; followUpDate?: Date; tags?: string; categories?: string; variables?: any; completed?: boolean; seen?: boolean; } export interface TaskServiceOptions { taskRepository?: TaskRepository; name: string; } export declare class TaskService implements BpmsService { private bpmsEngine?; private taskRepository; private id; private options; constructor(bpmsEngine?: BpmsEngine | undefined, options?: TaskServiceOptions); static createService(options?: TaskServiceOptions): TaskService; static createService(bpmsEngine?: BpmsEngine, options?: TaskServiceOptions): TaskService; get Id(): string; get Name(): string; get BpmsEngine(): BpmsEngine | undefined; clear(): Promise; create(task: T): Promise; remove(taskId: IdExpression): Promise; find(taskId: IdExpression): Promise; find(filter: FilterExpression): Promise; list(filter?: FilterExpression): Promise; count(filter?: FilterExpression): Promise; query(options: QueryOptions): Promise>; scalar(options: ScalarOptions): Promise; updateTaskDueDate(taskId: string, dueDate: Date | undefined): Promise; updateTaskFollowUpDate(taskId: string, followUpDate: Date | undefined): Promise; updateTaskTags(taskId: string, tags: string | undefined): Promise; updateTaskCategories(taskId: string, categories: string | undefined): Promise; taskCompleted(taskId: string): Promise; taskSeen(taskId: string): Promise; }