import type { ChannelDriver, ChannelId, ChannelStatus, MonoAgentAppLogger, RunningChannel } from "./channels.js"; import type { ProcessJobsSettings } from "./process-jobs-config.js"; import { type ProcessJobsHealth, type ProcessJobsServiceHandle } from "./process-jobs-service.js"; import { type AgentRootOwnership } from "./agent-root-coordinator.js"; import { type ProcessJobsRootRegistrationProof, type ProcessJobsRootRegistrySnapshot } from "./process-jobs-root-registry.js"; import { type ProcessJobsProtectionPosture } from "./process-jobs-protection.js"; export interface ProcessJobsControllerPort { readonly cwd: string; readonly configReadPath: string; readonly env: Record; readonly logger: MonoAgentAppLogger | undefined; readonly drivers: readonly ChannelDriver[]; readonly running: Map; readonly statuses: Map; readonly stopped: boolean; readonly agentRootOwnership: AgentRootOwnership; processJobsService: ProcessJobsServiceHandle | undefined; processJobsServiceStart: Promise | undefined; processJobsServiceStartFlight?: symbol | undefined; processJobsStateDir: string | undefined; processJobsDegradation: { readonly stateDir: string; readonly reason: string; } | undefined; processJobsRegistry: ProcessJobsRootRegistrySnapshot | undefined; processJobsProtectionPosture?: ProcessJobsProtectionPosture | undefined; preparedProcessJobs: { readonly settings: ProcessJobsSettings; readonly workspace: string; readonly protectionPosture: ProcessJobsProtectionPosture; readonly registration?: ProcessJobsRootRegistrationProof; } | undefined; observabilityContext(): Promise<{ readonly sourceId?: string; }>; setStatus(id: ChannelId, status: ChannelStatus): ChannelStatus; refreshTraceSource(reason: string): Promise; } export declare function ensureProcessJobsService(controller: ProcessJobsControllerPort): Promise; /** * Load/bootstrap/publish the next durable protection generation. On reload this * runs before channel teardown; store opening remains deferred until afterward. */ export declare function prepareProcessJobsProtection(controller: ProcessJobsControllerPort, reason: string): Promise; /** Publish a later store-health transition to both live operator surfaces. */ export declare function publishProcessJobsHealth(controller: ProcessJobsControllerPort, stateDir: string, health: ProcessJobsHealth): Promise; export declare function startProcessJobsIfConfigured(controller: ProcessJobsControllerPort, reason: string): Promise; export declare function activateProcessJobWakes(controller: ProcessJobsControllerPort): Promise; export declare function stopProcessJobsService(controller: ProcessJobsControllerPort): Promise; //# sourceMappingURL=app-controller-process-jobs.d.ts.map