@investorid/identity-sdk
Version:
Interact with BlockChain Identities.
68 lines (67 loc) • 1.95 kB
TypeScript
import { SignerModuleInterface } from "../core/SignerModule";
export declare enum ClaimType {
KYC = 1
}
export declare enum ClaimScheme {
SOME = 1
}
export declare enum ClaimStatus {
EXPECTED = "EXPECTED",
READY = "READY",
PENDING = "PENDING",
CONFIRMED = "CONFIRMED",
REVOKED = "REVOKED"
}
export interface ClaimData {
address?: string;
data?: string;
hash?: string;
emissionDate?: Date;
id?: string;
issuanceDate?: Date;
issuer?: string;
publicData?: object;
privateData?: object;
scheme?: number;
signature?: string;
status?: ClaimStatus;
type?: number;
uri?: string;
}
export declare enum AccessGrantType {
IMMEDIATE = "IMMEDIATE",
PERSISTENT = "PERSISTENT"
}
export declare enum AccessGrantStatus {
PENDING = "PENDING",
CONFIRMED = "CONFIRMED",
REVOKED = "REVOKED"
}
export interface AccessGrant {
address: string;
challenge: string;
claimId: string;
date: Date;
id: string;
key?: string;
keySigningMethod?: string;
keyType?: string;
signature?: string;
status: AccessGrantStatus;
type: AccessGrantType;
uri: string;
}
export interface AccessToken {
access: boolean;
accessToken?: string;
}
export interface ClaimObject extends ClaimData {
completeAccessChallenge(accessGrant: AccessGrant, signer: SignerModuleInterface): Promise<AccessGrant | AccessToken>;
generateHash(type?: ClaimType, issuanceDate?: Date, publicData?: object, privateData?: object): string;
getPublicData(): Promise<object>;
getPrivateData(accessToken: string): Promise<object>;
populate(accessToken?: string): Promise<void>;
requestAccess(accessType?: AccessGrantType, signer?: SignerModuleInterface): Promise<AccessGrant>;
requestAccessToken(accessGrant: AccessGrant, signer: SignerModuleInterface): Promise<AccessToken>;
sign(signer?: SignerModuleInterface): Promise<string>;
}