import type { Issue } from "./types/issue.js"; export type ResponsibleUserSource = "explicit" | "creator" | "none"; export interface ResponsibleUserAttribution { userId: string | null; source: ResponsibleUserSource; isAutoDerived: boolean; } export declare function deriveResponsibleUser(issue: Pick): ResponsibleUserAttribution; /** * The actor to display as an issue's "Originating" attribution. * * A human creator always wins (`createdByUserId`). When an agent created the * issue but a transitive human responsible user is known, we attribute the * originator to that human and record the creating agent as `viaAgentId` so the * UI can show a "via " affordance. Agent-only creators fall back to the * agent, and routine executions (no `createdBy*`) surface the responsible user. */ export type OriginatingActor = { kind: "user"; id: string; viaAgentId?: string; } | { kind: "agent"; id: string; }; export declare function deriveOriginatingActor(issue: Pick): OriginatingActor | null; //# sourceMappingURL=issue-attribution.d.ts.map