ReadonlycascadeOptional ReadonlyloggerOptional ReadonlynowReadonlysubjectOptional ReadonlysubjectOptional ReadonlysubjectReadonlywatermarkHow long the watermark must outlive. Size it to the longest-lived refresh token, not the access token: the refresh grant consults the watermark as the backstop for a family revocation that did not complete, so a watermark that expires first takes the backstop with it. See the TTL contract on SubjectRevocation.
Injectable for tests; defaults to
Date.now.