import { BpmsEngine } from '../BpmsEngine'; import { JobRepository } from './JobRepository'; import { IdExpression, FilterExpression, QueryOptions, QueryResult, ScalarOptions } from '../data/Repository'; import { BpmsService } from '../BpmsService'; export interface BpmsJob { id?: string; title?: string; descriptions?: 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; createdAt?: Date; seenAt?: Date; updatedAt?: Date; completed?: boolean; completedAt?: Date; tags?: string; categories?: string; } export interface JobServiceOptions { jobRepository?: JobRepository; name: string; } export declare class JobService implements BpmsService { private bpmsEngine?; private jobRepository; private id; private options; constructor(bpmsEngine?: BpmsEngine | undefined, options?: JobServiceOptions); static createService(options?: JobServiceOptions): JobService; static createService(bpmsEngine?: BpmsEngine, options?: JobServiceOptions): JobService; get Id(): string; get Name(): string; get JobRepository(): JobRepository; get BpmsEngine(): BpmsEngine | undefined; clear(): Promise; create(job: T): Promise; remove(jobId: IdExpression): Promise; find(jobId: IdExpression): Promise; list(filter?: FilterExpression): Promise; count(filter?: FilterExpression): Promise; query(options: QueryOptions): Promise>; scalar(options: ScalarOptions): Promise; updateJobTags(jobId: string, tags: string | undefined): Promise; updateJobCategories(jobId: string, categories: string | undefined): Promise; jobCompleted(jobId: string): Promise; }