import { type InheritableApproval } from "./approval.ts"; import { type ApprovalBinding, type CorrelationMetadata } from "./correlation.ts"; import type { DefinitionDigest, SkillDefinition } from "./definitions.ts"; import { type Capability, type ResolveResult } from "./resolve.ts"; /** * Resolve the approval half of one delegation after its requested capability set is known. * * Kept as one function because the ordering is security-relevant: compute the unapproved and potential * effective sets first, derive the exact binding from those trusted values, then decide which approvals * match. An approval must never define the scope against which it is checked. */ export declare function resolveDelegationApproval(input: { task: string; agent?: string; requested: Capability[]; parentGrant: Capability[]; gated: Capability[]; approved?: InheritableApproval[]; spawned?: SkillDefinition; definitionDigest?: DefinitionDigest; /** * Present iff this call is task-bound. Most values remain labels; optional tree_sha/last_change_seq enter * the binding only to narrow a supplied approval to the upstream tree state that was reviewed. */ correlation?: CorrelationMetadata; /** Trusted: an id that was resolved against the operator registry and leased. Never a caller claim. */ boundWorkspaceId?: string; /** Caller-declared label. Narrows the binding only; asserts nothing about enforcement. */ boundContextId?: string; parentId: string; }): { result: ResolveResult; approvalBinding?: ApprovalBinding; bindingMismatch: boolean; }; //# sourceMappingURL=delegation-approval.d.ts.map