import { CRYPTOSUITE_ECDSA_SD_2023, CRYPTOSUITE_EDDSA_RDFC_2022, PROOF_TYPE_ED25519_2020 } from "./cryptosuites/constants.mjs"; //#region src/OpenBadgesModuleConfig.d.ts /** * Supported cryptosuites for JSON-LD proofs */ type Cryptosuite = typeof CRYPTOSUITE_EDDSA_RDFC_2022 | typeof CRYPTOSUITE_ECDSA_SD_2023 | typeof PROOF_TYPE_ED25519_2020; /** * Supported DID methods */ type DidMethod = 'did:web' | 'did:key' | 'did:jwk'; /** * Selective disclosure configuration */ interface SelectiveDisclosureConfig { /** Enable selective disclosure support */ enabled: boolean; /** Default mandatory pointers (JSON Pointers that are always disclosed) */ mandatoryPointers?: string[]; } /** * Status list configuration */ interface StatusListConfig { /** Enable status list support for revocation/suspension */ enabled: boolean; /** Default purpose: 'revocation' or 'suspension' */ defaultPurpose?: 'revocation' | 'suspension'; /** Status list credential validity period in seconds */ validityPeriod?: number; } type OpenBadgesModuleConfigOptions = { /** * DID method to use for issuer identifiers * @default 'did:web' */ didMethod?: DidMethod; /** * Proof format: 'jsonld' (Data Integrity / Linked Data Proof) or 'jwt' (VC-JWT) * @default 'jsonld' */ proofFormat?: 'jsonld' | 'jwt'; /** * Cryptosuite to use for JSON-LD proofs * - 'eddsa-rdfc-2022': Ed25519 with RDFC canonicalization (recommended, required for cert) * - 'ecdsa-sd-2023': ECDSA P-256 with selective disclosure (required for cert) * - 'Ed25519Signature2020': Legacy Ed25519 suite * @default 'eddsa-rdfc-2022' */ cryptosuite?: Cryptosuite; /** * Selective disclosure configuration * Only applicable when cryptosuite is 'ecdsa-sd-2023' */ selectiveDisclosure?: SelectiveDisclosureConfig; /** * Status list configuration for credential revocation/suspension */ statusList?: StatusListConfig; /** * @deprecated Use proofFormat instead */ proofType?: 'jsonld' | 'jwt'; /** * @deprecated No longer used */ allowJwtProofs?: boolean; /** * Cache JSON-LD contexts locally * @default true */ cacheContexts?: boolean; }; declare class OpenBadgesModuleConfig { readonly didMethod: DidMethod; readonly proofFormat: 'jsonld' | 'jwt'; readonly cryptosuite: Cryptosuite; readonly selectiveDisclosure: SelectiveDisclosureConfig; readonly statusList: StatusListConfig; readonly cacheContexts: boolean; /** @deprecated Use proofFormat instead */ readonly proofType: 'jsonld' | 'jwt'; /** @deprecated No longer used */ readonly allowJwtProofs: boolean; constructor(options?: OpenBadgesModuleConfigOptions); /** * Check if selective disclosure is supported and enabled */ get supportsSelectiveDisclosure(): boolean; /** * Check if using a Data Integrity cryptosuite */ get isDataIntegritySuite(): boolean; /** * Check if using JWT format */ get isJwtFormat(): boolean; } //#endregion export { Cryptosuite, DidMethod, OpenBadgesModuleConfig, OpenBadgesModuleConfigOptions, SelectiveDisclosureConfig, StatusListConfig }; //# sourceMappingURL=OpenBadgesModuleConfig.d.mts.map