import type { default as Indy, CredDef, Schema, Cred, CredDefId, CredOffer, CredReq, CredRevocId, CredValues } from 'indy-sdk'; import { AgentConfig } from '../../../agent/AgentConfig'; import { IndyWallet } from '../../../wallet/IndyWallet'; import { IndyUtilitiesService } from './IndyUtilitiesService'; export declare class IndyIssuerService { private indy; private wallet; private indyUtilitiesService; private fileSystem; constructor(agentConfig: AgentConfig, wallet: IndyWallet, indyUtilitiesService: IndyUtilitiesService); /** * Create a new credential schema. * * @returns the schema. */ createSchema({ originDid, name, version, attributes }: CreateSchemaOptions): Promise; /** * Create a new credential definition and store it in the wallet. * * @returns the credential definition. */ createCredentialDefinition({ issuerDid, schema, tag, signatureType, supportRevocation, }: CreateCredentialDefinitionOptions): Promise; /** * Create a credential offer for the given credential definition id. * * @param credentialDefinitionId The credential definition to create an offer for * @returns The created credential offer */ createCredentialOffer(credentialDefinitionId: CredDefId): Promise; /** * Create a credential. * * @returns Credential and revocation id */ createCredential({ credentialOffer, credentialRequest, credentialValues, revocationRegistryId, tailsFilePath, }: CreateCredentialOptions): Promise<[Cred, CredRevocId]>; } export interface CreateCredentialDefinitionOptions { issuerDid: string; schema: Schema; tag?: string; signatureType?: 'CL'; supportRevocation?: boolean; } export interface CreateCredentialOptions { credentialOffer: CredOffer; credentialRequest: CredReq; credentialValues: CredValues; revocationRegistryId?: string; tailsFilePath?: string; } export interface CreateSchemaOptions { originDid: string; name: string; version: string; attributes: string[]; }