import { Query, QueryOptions } from "../../storage/StorageService.mjs";
import { ClaimFormat } from "./models/ClaimFormat.mjs";
import { W3cV2CredentialRecord } from "./repository/W3cV2CredentialRecord.mjs";
import "./repository/index.mjs";
import { W3cV2SignCredentialOptions, W3cV2SignPresentationOptions, W3cV2StoreCredentialOptions, W3cV2VerifyCredentialOptions, W3cV2VerifyPresentationOptions } from "./W3cV2CredentialServiceOptions.mjs";
import { W3cV2VerifiableCredential } from "./models/credential/W3cV2VerifiableCredential.mjs";
import { W3cV2VerifyCredentialResult, W3cV2VerifyPresentationResult } from "./models/W3cV2VerifyResult.mjs";
import "./models/index.mjs";
import { W3cV2VerifiablePresentation } from "./models/presentation/W3cV2VerifiablePresentation.mjs";
import { W3cV2CredentialService } from "./W3cV2CredentialService.mjs";
import { AgentContext } from "../../agent/context/AgentContext.mjs";
import "../../agent/index.mjs";

//#region src/modules/vc/W3cV2CredentialsApi.d.ts
/**
 * @public
 */
declare class W3cV2CredentialsApi {
  private agentContext;
  private w3cV2CredentialService;
  constructor(agentContext: AgentContext, w3cV2CredentialService: W3cV2CredentialService);
  store(options: W3cV2StoreCredentialOptions): Promise<W3cV2CredentialRecord>;
  deleteById(id: string): Promise<void>;
  getAll(): Promise<W3cV2CredentialRecord[]>;
  getById(id: string): Promise<W3cV2CredentialRecord>;
  findAllByQuery(query: Query<W3cV2CredentialRecord>, queryOptions?: QueryOptions): Promise<W3cV2VerifiableCredential[]>;
  signCredential<Format extends ClaimFormat.JwtW3cVc | ClaimFormat.SdJwtW3cVc>(options: W3cV2SignCredentialOptions<Format>): Promise<W3cV2VerifiableCredential<Format>>;
  verifyCredential(options: W3cV2VerifyCredentialOptions): Promise<W3cV2VerifyCredentialResult>;
  signPresentation<Format extends ClaimFormat.JwtW3cVp | ClaimFormat.SdJwtW3cVp>(options: W3cV2SignPresentationOptions<Format>): Promise<W3cV2VerifiablePresentation<Format>>;
  verifyPresentation(options: W3cV2VerifyPresentationOptions): Promise<W3cV2VerifyPresentationResult>;
}
//#endregion
export { W3cV2CredentialsApi };
//# sourceMappingURL=W3cV2CredentialsApi.d.mts.map