import { AssigneeRef, DesiredAssignment, Kind, ResolvedAddition, TargetRef, Findings } from '../core/index.js'; import { OrgClient } from './adapters/index.js'; /** * What the org answered for every declared reference: the findings, plus the org ids of * the references that did resolve. The indexes stay private because they are keyed by the * identifiers' comparison key, and that rule belongs here rather than at every lookup. */ export declare class Resolution { readonly findings: Findings; private readonly userIds; private readonly targetIds; constructor(findings: Findings, userIds: Map, targetIds: Record>); /** Every target that resolved, as the managed set to compare the org's state against. */ managedTargets(): TargetRef[]; /** * Every user the files manage a kind for, so the org's state can be read for them too. * * Without this the managed set is the declared targets alone, and a target deleted from a * file leaves that set: its assignment is never read, so sync has nothing to remove and * reports that the org already matches. Deleting a line is the ordinary way to revoke * access, so the user has to carry scope of their own. */ managedAssignees(declared: DesiredAssignment[]): AssigneeRef[]; /** Attach the resolved assignee and target ids to each addition, so it can be inserted. */ resolveAdditions(additions: DesiredAssignment[]): ResolvedAddition[]; } /** Look every declared reference up in the org, returning findings and the resolved id maps. */ export declare class ResolutionService { private readonly org; constructor(org: OrgClient); run(assignments: DesiredAssignment[], includeInactive?: boolean): Promise; private findTargetsOfKind; } //# sourceMappingURL=resolution.d.ts.map