import { ActionContext } from "./policy-types.mjs"; //#region extensions/crypto/src/services/delegation-executor.d.ts interface DelegationExecutionResult { /** Whether the action was executed via delegation. */ executed: boolean; /** Transaction hash from on-chain redemption. */ txHash?: string; /** Chain ID where the redemption happened. */ chainId?: number; /** Why delegation execution was skipped (for debugging). */ skipReason?: string; /** Error message if delegation execution was attempted but failed. */ error?: string; } /** Clear rate limit for a user+tool (call on successful redemption). */ declare function clearRateLimit(userId: string, toolName: string): void; /** * Attempt to execute a tool action via delegation redemption. * * Called from the policy gate AFTER policies have been evaluated as 'allow'. * Returns { executed: true } if the action was successfully redeemed on-chain, * or { executed: false, skipReason } if delegation was not applicable. * * The caller should fall back to normal tool execution when executed === false. */ declare function tryDelegationExecution(actionCtx: ActionContext, toolArgs: Record): Promise; /** * Check if delegation execution is available for a tool. * Quick sync check — verifies the tool has an extractor and a matching * delegation exists. Does NOT verify the extractor can parse the specific * args (that's async and happens in tryDelegationExecution). */ declare function isDelegationExecutionAvailable(toolName: string, userId: string): boolean; /** * Get the list of tools that support delegation execution. */ declare function getDelegationSupportedTools(): string[]; //#endregion export { DelegationExecutionResult, clearRateLimit, getDelegationSupportedTools, isDelegationExecutionAvailable, tryDelegationExecution }; //# sourceMappingURL=delegation-executor.d.mts.map