import { PublicJwk, SupportedPublicJwkClass } from "../../kms/jwk/PublicJwk.mjs";

//#region src/modules/vc/data-integrity/SignatureSuiteRegistry.d.ts
declare const LinkedDataSignature: any;
declare const SignatureSuiteToken: unique symbol;
interface SuiteInfo {
  suiteClass: typeof LinkedDataSignature;
  proofType: string;
  verificationMethodTypes: string[];
  supportedPublicJwkTypes: SupportedPublicJwkClass[];
}
declare class SignatureSuiteRegistry {
  private suiteMapping;
  constructor(suites: Array<SuiteInfo | 'default'>);
  get supportedProofTypes(): string[];
  /**
   * @deprecated recommended to always search by key type instead as that will have broader support
   */
  getByVerificationMethodType(verificationMethodType: string): SuiteInfo | undefined;
  getAllByPublicJwkType(publicJwkType: SupportedPublicJwkClass | PublicJwk): SuiteInfo[];
  getByProofType(proofType: string): SuiteInfo;
  getVerificationMethodTypesByProofType(proofType: string): string[];
}
//#endregion
export { SignatureSuiteRegistry, SignatureSuiteToken, SuiteInfo };
//# sourceMappingURL=SignatureSuiteRegistry.d.mts.map