## API Report File for "@digitalpersona/enrollment"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

import { Answer } from '@digitalpersona/core';
import { BioSample } from '@digitalpersona/core';
import { Credential } from '@digitalpersona/core';
import { CredentialId } from '@digitalpersona/core';
import { Finger } from '@digitalpersona/core';
import { FingerPosition } from '@digitalpersona/core';
import { Fingers } from '@digitalpersona/core';
import { IEnrollService } from '@digitalpersona/services';
import { JSONWebToken } from '@digitalpersona/core';
import { Question } from '@digitalpersona/core';
import { User } from '@digitalpersona/core';

// Warning: (ae-forgotten-export) The symbol "Enroller" needs to be exported by the entry point index.d.ts
// 
// @public
export class ContactlessCardEnroll extends Enroller {
    constructor(context: EnrollmentContext);
    canEnroll(): Promise<void>;
    enroll(cardData: string): Promise<void>;
    unenroll(): Promise<void>;
}

// @public
export class EnrollmentContext {
    constructor(
    enrollService: IEnrollService, 
    user: JSONWebToken | User, 
    securityOfficer?: JSONWebToken | undefined);
    readonly enrollService: IEnrollService;
    getJWT(): JSONWebToken;
    getUser(): User;
    isAuthenticated(): boolean;
    securityOfficer?: JSONWebToken | undefined;
    user: JSONWebToken | User;
}

// @public
export class FaceEnroll extends Enroller {
    constructor(context: EnrollmentContext);
    canEnroll(): Promise<void>;
    enroll(samples: BioSample[]): Promise<void>;
    unenroll(): Promise<void>;
}

// @public
export class FingerprintsEnroll extends Enroller {
    constructor(context: EnrollmentContext);
    canEnroll(): Promise<void>;
    enroll(position: FingerPosition | Finger, samples: BioSample[]): Promise<void>;
    getEnrolledFingers(): Promise<Fingers>;
    unenroll(position?: FingerPosition | Finger | Array<FingerPosition | Finger>): Promise<void>;
}

// @public
export class PasswordEnroll extends Enroller {
    constructor(context: EnrollmentContext);
    canEnroll(): Promise<void>;
    enroll(newPassword: string, oldPassword: string): Promise<void>;
    randomize(): Promise<string>;
    reset(newPassword: string): Promise<void>;
}

// @public
export class PinEnroll extends Enroller {
    constructor(context: EnrollmentContext);
    canEnroll(): Promise<void>;
    enroll(pin: string): Promise<void>;
    unenroll(): Promise<void>;
}

// @public
export class ProximityCardEnroll extends Enroller {
    constructor(context: EnrollmentContext);
    canEnroll(): Promise<void>;
    enroll(cardData: string): Promise<void>;
    unenroll(): Promise<void>;
}

// @public
export interface QuestionWithAnswer {
    answer: Answer;
    question: Question;
}

// @public
export class SecurityQuestionsEnroll extends Enroller {
    constructor(context: EnrollmentContext);
    canEnroll(): Promise<void>;
    enroll(questionsWithAnswers: QuestionWithAnswer[]): Promise<void>;
    getEnrolledQuestions(): Promise<Question[]>;
    unenroll(): Promise<void>;
}

// @public
export class SmartCardEnroll extends Enroller {
    constructor(context: EnrollmentContext);
    canEnroll(): Promise<void>;
    enroll(cardData: string): Promise<void>;
    getEnrolledCards(): Promise<SmartCardEnrollmentData[]>;
    unenroll(keyHash?: string): Promise<void>;
}

// @public
export interface SmartCardEnrollmentData {
    keyHash: string;
    nickname: string;
    timeStamp: number;
    version: string;
}

// @public
export class TimeOtpEnroll extends Enroller {
    constructor(context: EnrollmentContext);
    createKeyUri(key: Uint8Array): Promise<string>;
    enrollHardwareOtp(code: string, serialNumber: string, counter?: string, timer?: string): Promise<void>;
    enrollSoftwareOtp(code: string, key: Uint8Array, phoneNumber?: string): Promise<void>;
    sendVerificationCode(key: Uint8Array, phoneNumber: string): Promise<void>;
    unenroll(): Promise<void>;
}

// @public
export class U2FEnroll extends Enroller {
    constructor(context: EnrollmentContext, appId: string);
    canEnroll(): Promise<void>;
    enroll(): Promise<void>;
    unenroll(): Promise<void>;
}


// (No @packageDocumentation comment for this package)

```
