import { OpenBadgesRevocationCacheRepository } from "../repository/OpenBadgesRevocationCacheRepository.mjs"; import { CreateStatusListInput, StatusListCredential, StatusListEntry } from "../models/StatusListCredential.mjs"; import { StatusListRecord } from "../repository/StatusListRecord.mjs"; import { StatusListRepository } from "../repository/StatusListRepository.mjs"; import { AgentContext } from "@credo-ts/core"; //#region src/services/RevocationService.d.ts declare class RevocationService { private readonly cacheRepo; private readonly statusListRepo; constructor(cacheRepo: OpenBadgesRevocationCacheRepository, statusListRepo: StatusListRepository); isRevoked(agentContext: AgentContext, credential: any): Promise; private getStatusListBits; /** * Create a new status list for credential revocation or suspension */ createStatusList(agentContext: AgentContext, input: CreateStatusListInput): Promise; /** * Allocate the next available index in a status list for a credential * Returns the allocated index */ allocateIndex(agentContext: AgentContext, listId: string, credentialId?: string): Promise; /** * Set the status (revoked/suspended or active) for a specific index */ setStatus(agentContext: AgentContext, options: { listId: string; index: number; status: boolean; }): Promise; /** * Revoke a credential by its credential ID (if tracked) */ revokeByCredentialId(agentContext: AgentContext, listId: string, credentialId: string): Promise; /** * Get the status of a specific index */ getStatus(agentContext: AgentContext, listId: string, index: number): Promise; /** * Build an unsigned StatusList2021Credential for a status list * This can then be signed using the ProofService */ buildStatusListCredential(record: StatusListRecord): StatusListCredential; /** * Create a StatusListEntry to add to a credential */ createStatusEntry(record: StatusListRecord, index: number, entryId?: string): StatusListEntry; /** * Add a credentialStatus field to a credential * This should be called before signing the credential */ addCredentialStatus(credential: any, statusEntry: StatusListEntry): any; /** * Get a status list record by its ID */ getStatusList(agentContext: AgentContext, listId: string): Promise; /** * Get all status lists for an issuer */ getStatusListsByIssuer(agentContext: AgentContext, issuerDid: string): Promise; } //#endregion export { RevocationService }; //# sourceMappingURL=RevocationService.d.mts.map