import type { V2Delegation } from '../types.js';
/**
 * Resolve the spend cap (in minor currency units, typically cents)
 * a V2Delegation imposes on the calling rail.
 *
 * Resolution order — first match wins:
 *   1. `scope.resource_limits[canonicalKey]` if a finite non-negative number
 *   2. `scope.resource_limits['commerce.spend_limit']` if a finite non-negative number
 *      (skipped when canonicalKey already equals 'commerce.spend_limit')
 *   3. `Number(scope.constraints.spend_limit_cents)` if the string parses
 *      to a finite non-negative number
 *
 * Returns `null` when no cap is found OR all sources contain
 * malformed values. Callers MUST NOT treat null as unlimited.
 *
 * @param delegation  V2Delegation to inspect
 * @param opts.canonicalKey  Override the primary resource_limits key.
 *   Defaults to `'spend_limit_cents'`. AP2 passes `'commerce.spend_limit'`.
 */
export declare function resolveSpendLimitCents(delegation: V2Delegation, opts?: {
    canonicalKey?: string;
}): number | null;
//# sourceMappingURL=scope-resolution.d.ts.map