import type { ActorRef, TaskCommand, TaskCreateRequest, TaskRunReceipt } from '@xopcai/gateway-contract'; import { type TaskReadModel } from './task-read-model-projector.js'; export type TaskApplicationResult = { ok: true; model: TaskReadModel; runId?: string; } | { ok: false; reason: 'not_found' | 'conflict' | 'invalid_transition' | 'blocked'; model?: TaskReadModel; }; export declare class TaskApplicationService { #private; create(input: TaskCreateRequest, actor?: ActorRef): TaskApplicationResult; execute(input: { taskId: string; idempotencyKey: string; expectedVersion: number; command: TaskCommand; actor?: ActorRef; }): TaskApplicationResult; completeRun(input: { runId: string; expectedRunVersion: number; receipt: Omit; actor?: ActorRef; terminalCode?: string; terminalMessage?: string; }): TaskApplicationResult; private start; private lifecycle; private recordCommand; private readCommand; private enqueueEvent; }