@sphereon/ssi-sdk.qr-code-generator
Version:
QR Code provider (react)
92 lines • 3.43 kB
TypeScript
import { IAgentContext, IPluginMethodMap } from '@veramo/core';
export interface IQRCodeGenerator extends IPluginMethodMap {
qrDIDCommOobInvitationElement(args: CreateElementArgs<QRType.DIDCOMM_V2_OOB_INVITATION, DIDCommV2OOBInvitationData>, context: IRequiredContext): Promise<JSX.Element>;
qrDIDCommOobInvitationValue(args: CreateValueArgs<QRType.DIDCOMM_V2_OOB_INVITATION, DIDCommV2OOBInvitationData>, context: IRequiredContext): Promise<string>;
qrSIOPv2Element(args: CreateElementArgs<QRType.SIOPV2, SIOPv2DataWithScheme>, context: IRequiredContext): Promise<JSX.Element>;
qrSIOPv2Value(args: CreateValueArgs<QRType.SIOPV2, SIOPv2DataWithScheme>, context: IRequiredContext): Promise<string>;
qrURIElement(args: CreateElementArgs<QRType.URI, URIData>, context: IRequiredContext): Promise<JSX.Element>;
qrOpenID4VCIElement(args: CreateElementArgs<QRType.OpenID4VCI, OpenID4VCIDataWithScheme>, context: IRequiredContext): Promise<JSX.Element>;
qrOpenID4VCIValue(args: CreateValueArgs<QRType.OpenID4VCI, OpenID4VCIDataWithScheme>, context: IRequiredContext): Promise<string>;
}
export interface CreateValueArgs<T extends QRType, D> {
onGenerate?: (result: ValueResult<T, D>) => void;
data: QRData<T, D>;
}
export interface CreateElementArgs<T extends QRType, D> extends CreateValueArgs<T, D> {
renderingProps: QRRenderingProps;
}
export interface ValueResult<T extends QRType, D> {
id: string;
value: string;
data: QRData<T, D>;
renderingProps?: QRRenderingProps;
context?: IRequiredContext;
}
export declare enum QRType {
URI = "uri",
SIOPV2 = "openid-vc",
DIDCOMM_V2_OOB_INVITATION = "https://didcomm.org/out-of-band/2.0/invitation",
OpenID4VCI = "openid-credential-offer"
}
export type SIOPv2Scheme = 'openid' | 'openid-vc' | string;
export interface SIOPv2DataWithScheme {
scheme?: SIOPv2Scheme;
requestUri: string;
}
export type OpenID4VCIScheme = 'openid-credential-offer' | 'https' | string;
export interface OpenID4VCIDataWithScheme {
scheme?: OpenID4VCIScheme;
baseUri?: string;
credentialOfferUri?: string;
credentialOffer?: string;
}
export interface DIDCommV2OOBInvitationData {
baseURI: string;
oobInvitation: DIDCommV2OOBInvitation;
}
/**
* {
* "type": "https://didcomm.org/out-of-band/2.0/invitation",
* "id": "599f3638-b563-4937-9487-dfe55099d900",
* "from": "did:example:verifier",
* "body": {
* "goal_code": "streamlined-vp",
* "accept": ['didcomm/v2']
* }
* }
*/
export interface DIDCommV2OOBInvitation {
type: 'https://didcomm.org/out-of-band/2.0/invitation';
id: string;
from: DID;
body: Body;
}
export type URIData = string;
export type DID = string;
export interface Body {
goal_code: GoalCode;
accept: [AcceptMode];
}
export type GoalCode = 'streamlined-vp' | 'streamlined-vc';
export type AcceptMode = 'didcomm/v2' | string;
export declare enum StatusCode {
OK = "OK",
CREATED = "CREATED"
}
export interface QRData<T extends QRType, D> {
id: string;
type: T;
object: D;
}
export interface QRRenderingProps {
bgColor?: string;
fgColor?: string;
level?: 'L' | 'M' | 'Q' | 'H';
size?: number;
title?: string;
}
export declare enum events {
QR_CODE_CODE_CREATED = "QrCodeCreated"
}
export type IRequiredContext = IAgentContext<Record<string, never>>;
//# sourceMappingURL=IQRCodeGenerator.d.ts.map