import { JsonObject, SingleOrArray } from "../../../../types.mjs";
import { W3cV2CredentialSchema, W3cV2CredentialSchemaOptions } from "./W3cV2CredentialSchema.mjs";
import { W3cV2CredentialStatus, W3cV2CredentialStatusOptions } from "./W3cV2CredentialStatus.mjs";
import { W3cV2CredentialSubject, W3cV2CredentialSubjectOptions } from "./W3cV2CredentialSubject.mjs";
import { W3cV2Evidence, W3cV2EvidenceOptions } from "./W3cV2Evidence.mjs";
import { W3cV2Issuer, W3cV2IssuerOptions } from "./W3cV2Issuer.mjs";
import { W3cV2JsonCredential } from "./W3cV2JsonCredential.mjs";
import { W3cV2LocalizedValue, W3cV2LocalizedValueOptions } from "./W3cV2LocalizedValue.mjs";
import { W3cV2RefreshService, W3cV2RefreshServiceOptions } from "./W3cV2RefreshService.mjs";
import { W3cV2TermsOfUse, W3cV2TermsOfUseOptions } from "./W3cV2TermsOfUse.mjs";
//#region src/modules/vc/models/credential/W3cV2Credential.d.ts
export interface W3cV2CredentialOptions {
  context?: Array<string | JsonObject>;
  id?: string;
  type: Array<string>;
  name?: string | SingleOrArray<W3cV2LocalizedValueOptions>;
  description?: string | SingleOrArray<W3cV2LocalizedValueOptions>;
  issuer: string | W3cV2IssuerOptions;
  credentialSubject: SingleOrArray<W3cV2CredentialSubjectOptions>;
  validFrom?: string;
  validUntil?: string;
  credentialStatus?: SingleOrArray<W3cV2CredentialStatusOptions>;
  credentialSchema?: SingleOrArray<W3cV2CredentialSchemaOptions>;
  refreshService?: SingleOrArray<W3cV2RefreshServiceOptions>;
  termsOfUse?: SingleOrArray<W3cV2TermsOfUseOptions>;
  evidence?: SingleOrArray<W3cV2EvidenceOptions>;
  [property: string]: unknown;
}
export declare class W3cV2Credential {
  constructor(options: W3cV2CredentialOptions);
  context: Array<string | JsonObject>;
  id?: string;
  type: SingleOrArray<string>;
  name?: string | SingleOrArray<W3cV2LocalizedValue>;
  description?: string | SingleOrArray<W3cV2LocalizedValue>;
  issuer: string | W3cV2Issuer;
  credentialSubject: SingleOrArray<W3cV2CredentialSubject>;
  validFrom?: string;
  validUntil?: string;
  credentialStatus?: SingleOrArray<W3cV2CredentialStatus>;
  credentialSchema?: SingleOrArray<W3cV2CredentialSchema>;
  refreshService?: SingleOrArray<W3cV2RefreshService>;
  evidence?: SingleOrArray<W3cV2Evidence>;
  termsOfUse?: SingleOrArray<W3cV2TermsOfUse>;
  vc?: never;
  vp?: never;
  [property: string]: unknown;
  get issuerId(): string;
  get credentialSchemaIds(): string[];
  get credentialSubjectIds(): string[];
  get contexts(): Array<string | JsonObject>;
  toJSON(): W3cV2JsonCredential;
}
//#endregion
//# sourceMappingURL=W3cV2Credential.d.mts.map