import type { HomeAttention, HomeDecision, HomeResponse } from '@xopcai/gateway-contract'; import type { AutomationService } from '../automations/service/automation-service.js'; import type { Config } from '../config/schema.js'; import type { ProactiveInboxService } from '../proactive/inbox/service.js'; import type { ProjectService } from '../projects/project-service.js'; import type { WorkflowRunSummary } from '../workflows/domain/index.js'; import type { WorkflowRunService } from '../workflows/service/workflow-run-service.js'; import { type TaskAggregate } from './task-repository.js'; import { type TaskReadModel } from './task-read-model-projector.js'; type HomeWorkflowRun = { id: string; definitionId: string; title: string; status: WorkflowRunSummary['status']; sessionKey?: string; createdAtMs: number; startedAtMs?: number; completedAtMs?: number; metrics: WorkflowRunSummary['metrics']; }; type HomeAutomation = { id: string; name?: string; trigger: string; action: string; nextRunAt: string; }; interface HomeGatewayPort { readonly currentConfig: Config; readonly automationServiceInstance: AutomationService; readonly projects: ProjectService; readonly proactiveInbox: ProactiveInboxService; readonly sessions: { listActiveRuns(): Array<{ sessionKey: string; runId: string; }>; getSession(key: string): Promise<{ name?: string; updatedAt: string; lastInteractionAt?: string; routing?: { agentId?: string; }; } | null>; }; createWorkflowRunService(): WorkflowRunService; } export declare function decisionFromTask(model: TaskReadModel, projectName?: string, locale?: string): HomeDecision | null; export declare function buildHomeWorkbench(input: { locale?: string; decisions: HomeDecision[]; attention: HomeAttention[]; activeWorkflowRuns: HomeWorkflowRun[]; runningTasks: TaskAggregate[]; scheduled: HomeAutomation[]; nowMs: number; }): Pick; export declare class HomeQueryService { #private; private readonly service; constructor(service: HomeGatewayPort); getSnapshot(locale?: string): Promise; } export {};