import { Query, QueryOptions } from "../../storage/StorageService.mjs";
import { ClaimFormat } from "./models/ClaimFormat.mjs";
import { W3cCredentialRecord } from "./repository/W3cCredentialRecord.mjs";
import "./repository/index.mjs";
import { W3cVerifiableCredential } from "./models/credential/W3cVerifiableCredential.mjs";
import { W3cPresentation } from "./models/presentation/W3cPresentation.mjs";
import { W3cVerifiablePresentation } from "./models/presentation/W3cVerifiablePresentation.mjs";
import { W3cVerifyCredentialResult, W3cVerifyPresentationResult } from "./models/W3cVerifyResult.mjs";
import "./models/index.mjs";
import { W3cCreatePresentationOptions, W3cSignCredentialOptions, W3cSignPresentationOptions, W3cStoreCredentialOptions, W3cVerifyCredentialOptions, W3cVerifyPresentationOptions } from "./W3cCredentialServiceOptions.mjs";
import { W3cCredentialService } from "./W3cCredentialService.mjs";
import { AgentContext } from "../../agent/context/AgentContext.mjs";
import "../../agent/index.mjs";

//#region src/modules/vc/W3cCredentialsApi.d.ts
/**
 * @public
 */
declare class W3cCredentialsApi {
  private agentContext;
  private w3cCredentialService;
  constructor(agentContext: AgentContext, w3cCredentialService: W3cCredentialService);
  store(options: W3cStoreCredentialOptions): Promise<W3cCredentialRecord>;
  deleteById(id: string): Promise<void>;
  getAll(): Promise<W3cCredentialRecord[]>;
  getById(id: string): Promise<W3cCredentialRecord>;
  findAllByQuery(query: Query<W3cCredentialRecord>, queryOptions?: QueryOptions): Promise<W3cVerifiableCredential[]>;
  signCredential<Format extends ClaimFormat.JwtVc | ClaimFormat.LdpVc>(options: W3cSignCredentialOptions<Format>): Promise<W3cVerifiableCredential<Format>>;
  verifyCredential(options: W3cVerifyCredentialOptions): Promise<W3cVerifyCredentialResult>;
  createPresentation(options: W3cCreatePresentationOptions): Promise<W3cPresentation>;
  signPresentation<Format extends ClaimFormat.JwtVp | ClaimFormat.LdpVp>(options: W3cSignPresentationOptions<Format>): Promise<W3cVerifiablePresentation<Format>>;
  verifyPresentation(options: W3cVerifyPresentationOptions): Promise<W3cVerifyPresentationResult>;
}
//#endregion
export { W3cCredentialsApi };
//# sourceMappingURL=W3cCredentialsApi.d.mts.map