import type { AgentStatus } from "./constants.js"; export type AgentEligibilityLifecycleReason = "eligible" | "terminated" | "pending_approval" | "paused" | "invalid_org_chain" | "unknown_status"; export interface AgentEligibilityAgent { id: string; companyId: string; name: string; status: AgentStatus | string; reportsTo?: string | null; } export interface AgentOrgChainEntry { id: string; companyId: string; name: string; status: AgentStatus | string; reportsTo: string | null; depth: number; relation: "self" | "ancestor"; } export interface AgentInvalidOrgChainAncestor { id: string; name: string; status: AgentStatus | string; } export type AgentOrgChainInvalidReason = "healthy" | "terminated_ancestor" | "missing_manager" | "cycle"; export interface AgentOrgChainHealth { status: "healthy" | "invalid_org_chain"; reason: AgentOrgChainInvalidReason; fullChain: AgentOrgChainEntry[]; firstInvalidAncestor: AgentInvalidOrgChainAncestor | null; invalidAncestors: AgentInvalidOrgChainAncestor[]; repairGuidance: string | null; } export interface AgentWorkEligibility { assignable: boolean; invokable: boolean; assignabilityReason: AgentEligibilityLifecycleReason; invokabilityReason: AgentEligibilityLifecycleReason; orgChainHealth: AgentOrgChainHealth; } export declare function isAgentStatusAssignableToWork(status: AgentStatus | string): boolean; export declare function isAgentStatusInvokable(status: AgentStatus | string): boolean; export declare function getAgentOrgChainHealth(input: { agent: AgentEligibilityAgent; agents: AgentEligibilityAgent[]; }): AgentOrgChainHealth; export declare function getAgentWorkEligibility(input: { agent: AgentEligibilityAgent; agents: AgentEligibilityAgent[]; }): AgentWorkEligibility; export declare function isAgentAssignableToWork(input: { agent: AgentEligibilityAgent; agents: AgentEligibilityAgent[]; }): boolean; export declare function isAgentInvokable(input: { agent: AgentEligibilityAgent; agents: AgentEligibilityAgent[]; }): boolean; //# sourceMappingURL=agent-eligibility.d.ts.map