import type { ChallengeData } from '@cap.js/server'; export default abstract class Store { abstract challenges: { store: (token: string, challengeData: ChallengeData) => Promise; read: (token: string) => Promise; delete: (token: string) => Promise; deleteExpired: () => Promise; }; abstract tokens: { store: (tokenKey: string, expires: number) => Promise; get: (tokenKey: string) => Promise; delete: (tokenKey: string) => Promise; deleteExpired: () => Promise; }; }