import type { SupervisorBackend } from '../supervisor/types.js'; import { controlRequest } from '../session/control.js'; import { type CapabilityContext } from './capabilities.js'; import { RoleRepository } from './role-repository.js'; import type { RoleCapabilities, RoleRecord, RoleStatus } from './types.js'; export interface FleetQueryOptions { repository: RoleRepository; supervisor: SupervisorBackend; control?: typeof controlRequest; capabilityContext?: CapabilityContext; /** * Watchdog anomalies feeding into Needs Attention: roleId -> worst * current finding across all watchdogs. Optional and absent by default so * every pre-existing caller (and its tests) is unaffected; runtime.ts wires * the real provider, built from watchdog reports on disk. */ watchdogFindings?: () => Map; } export declare class FleetQueryService { private readonly options; private readonly control; constructor(options: FleetQueryOptions); list(): Promise>; detail(id: string): Promise<{ role: RoleRecord; status: RoleStatus; capabilities: RoleCapabilities; }>; status(role: RoleRecord): Promise; private session; }