import { CredentialDefinition, ClaimEntry, BaseMetadata, ISignedCredCreationArgs, ISignedCredentialAttrs, CredentialRenderTypes, ClaimMimeType } from '@jolocom/protocol-ts'; import { QueryOptions, IStorage, CredentialQuery } from './storage'; import { SignedCredential } from 'jolocom-lib/js/credentials/signedCredential/signedCredential'; import { Agent } from './agent'; import { ObjectKeeper, CredentialMetadataSummary, IdentitySummary } from './types'; import { IResolver } from 'jolocom-lib/js/didMethods/types'; import { SDKError } from './errors'; export interface DisplayVal { label?: string; key?: string; value?: string; preview?: boolean; mime_type: ClaimMimeType; } interface CredentialCreateAttrsWithExpiry extends ISignedCredCreationArgs { expires?: Date; } export interface CredentialDisplay { type: string[]; issuerProfile?: IdentitySummary; name: string; schema: string; styles: CredentialDefinition['styles']; display: { properties: DisplayVal[]; title?: DisplayVal; subtitle?: DisplayVal; description?: DisplayVal; }; } export declare class CredentialType { readonly type: string[]; readonly renderAs: CredentialRenderTypes; readonly issuerProfile?: IdentitySummary; readonly definition: CredentialDefinition; constructor(type: string[], metadata?: CredentialMetadataSummary); summary(): CredentialMetadataSummary; display(claim: ClaimEntry): CredentialDisplay; private _processDisplayMapping; } export declare class CredentialTypeKeeper implements ObjectKeeper { protected credKeeper: CredentialKeeper; protected storage: IStorage; constructor(credKeeper: CredentialKeeper, storage: IStorage); buildId(issuer: string, credentialType: string | string[]): string; getFullCredentialTypeList(credType: string | string[]): string[]; getByIssuerAndType(issuerDid: string, credType: string | string[]): Promise; get(id: string, issuerDid?: string, fullCredType?: string | string[]): Promise; create(meta: CredentialMetadataSummary): Promise; forCredential(cred: SignedCredential): Promise; export(query?: CredentialQuery, options?: QueryOptions): Promise; import(data: CredentialMetadataSummary[]): Promise<[CredentialMetadataSummary, SDKError][]>; } export declare class CredentialKeeper implements ObjectKeeper, CredentialQuery, ISignedCredentialAttrs> { protected storage: IStorage; protected resolver: IResolver; readonly types: CredentialTypeKeeper; private _applyFilter; constructor(storage: IStorage, resolver: IResolver, filter?: CredentialQuery | (() => CredentialQuery)); /** * Retrieves a Signed Credential by id, or throws * * @param credParams - credential attributes * @returns SignedCredential instance * @category Credential Management */ get(id: string): Promise; query(attrs?: CredentialQuery, options?: QueryOptions): Promise; export(query?: CredentialQuery, options?: QueryOptions): Promise; import(data: ISignedCredentialAttrs[]): Promise<[ISignedCredentialAttrs, SDKError][]>; delete(attrs?: CredentialQuery): Promise; display(cred: SignedCredential): Promise; verify(cred: SignedCredential | ISignedCredentialAttrs): Promise; } export declare class CredentialIssuer extends CredentialKeeper { private agent; constructor(agent: Agent, filter?: CredentialQuery | (() => CredentialQuery)); /** * Creates, signs and persists a Credential. * * @param credParams - credential attributes * @returns SignedCredential instance * @throws Error on credential claim with 'null' or 'undefined' value * @category Credential Management */ create(credParams: CredentialCreateAttrsWithExpiry): Promise; /** * Persists signed credential to the storage. * * @param credential - signed credential * @returns void * @category Credential Management */ persist(credential: SignedCredential): Promise; /** * Creates and signs a Credential. * * @param credParams - credential attributes * @returns SignedCredential instance * @throws Error on credential claim with 'null' or 'undefined' value * @category Credential Management */ issue(credParams: CredentialCreateAttrsWithExpiry): Promise; private assertClaimValueDefined; } export {};