/** * The standing automation grants a consent moment mints and a firing runs under: * the one live-grant read all three fire-time questions are asked from, and the * mint that scopes a connector dispatch to its SLUG. */ import { type ApprovalRequest, type PermissionGrant, type RunContext, type ToolDescriptor } from "@vendoai/core"; import type { EngineBase } from "./engine-context.js"; export type GrantsDeps = { base: EngineBase; }; export interface GrantsAccess { /** The bound tool surface, by name, for a present-time ceremony. */ descriptors(ctx: RunContext): Promise>; /** Every LIVE standing grant this automation holds for the subject. */ liveAutomationGrants(subject: string, automationId: string, tool?: string): Promise; /** Whether this exact descriptor (and service action) is already granted. */ liveGrant(subject: string, automationId: string, descriptor: ToolDescriptor, slug?: string): Promise; /** The service-action slugs THIS firing holds a live grant for. */ grantedServiceSlugs(subject: string, automationId: string): Promise; /** Whether the automation holds ANY live automation-source standing grant. */ anyLiveAutomationGrant(subject: string, automationId: string): Promise; /** The standing grant a decided approval mints, scoped to its slug. */ mintGrant(request: ApprovalRequest, automationId: string | undefined): Promise; } export declare const createGrants: (deps: GrantsDeps) => GrantsAccess; //# sourceMappingURL=grants.d.ts.map