import { ILogger } from '../logger'; import { StoreService } from '../store'; import { HookInterface, HookRule } from '../../types/hook'; import { JobCompletionOptions, JobState } from '../../types/job'; import { ProviderClient, ProviderTransaction } from '../../types/provider'; import { WorkListTaskType } from '../../types/task'; declare class TaskService { store: StoreService; logger: ILogger; constructor(store: StoreService, logger: ILogger); processWebHooks(hookEventCallback: HookInterface): Promise; enqueueWorkItems(keys: string[]): Promise; registerJobForCleanup(jobId: string, inSeconds: number, options: JobCompletionOptions, transaction?: ProviderTransaction): Promise; registerTimeHook(jobId: string, gId: string, activityId: string, type: WorkListTaskType, inSeconds: number, dad: string, transaction?: ProviderTransaction): Promise; /** * No-op: time hooks are now engine_streams messages with future visible_at. * The engine's normal dequeue handles them when they become visible. * Kept for interface compatibility with quorum/engine callers. */ processTimeHooks(_timeEventCallback: (jobId: string, gId: string, activityId: string, type: WorkListTaskType) => Promise): Promise; cancelCleanup(): void; getHookRule(topic: string): Promise; registerWebHook(topic: string, context: JobState, dad: string, expire: number): Promise<{ jobId: string; pending?: string; }>; processWebHookSignal(topic: string, data: Record): Promise<[string, string, string, string] | undefined>; deleteWebHookSignal(topic: string, data: Record): Promise; } export { TaskService };