## API Report File for "@digitalpersona/devices"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

import { AuthenticationData } from '@digitalpersona/services';
import { AuthenticationHandle } from '@digitalpersona/services';
import { Base64UrlString } from '@digitalpersona/core';
import { BioSample } from '@digitalpersona/core';
import { IAuthenticationClient } from '@digitalpersona/services';

// @public
export class AcquisitionStarted extends DeviceEvent {
    constructor(deviceUid: string);
}

// @public
export class AcquisitionStopped extends DeviceEvent {
    constructor(deviceUid: string);
}

// @public
export interface Card {
    readonly Attributes: CardAttributes;
    readonly Name: string;
    readonly Reader: string;
    readonly Type: CardType;
}

// @public
export enum CardAttributes {
    IsPIV = 131072,
    IsPKI = 65536,
    IsReadOnly = 2147483648,
    SupportsPIN = 1,
    SupportsUID = 2
}

// @public
export class CardInserted extends DeviceEvent {
    constructor(reader: string, card: string);
    cardId: string;
}

// @public
export class CardRemoved extends DeviceEvent {
    constructor(reader: string, card: string);
    cardId: string;
}

// Warning: (ae-forgotten-export) The symbol "MultiCastEventSource" needs to be exported by the entry point index.d.ts
// 
// @public
export class CardsReader extends MultiCastEventSource {
    constructor(options?: WebSdk.WebChannelOptions);
    enumerateCards(): Promise<Card[]>;
    enumerateReaders(): Promise<string[]>;
    getCardAuthData(reader: string, pin?: string): Promise<string>;
    getCardEnrollData(reader: string, pin?: string): Promise<string>;
    getCardInfo(reader: string): Promise<Card | null>;
    getCardUid(reader: string): Promise<string>;
    off<E extends Event>(event?: string, handler?: Handler<E>): this;
    on<E extends Event>(event: string, handler: Handler<E>): Handler<E>;
    onCardInserted: Handler<CardInserted>;
    onCardRemoved: Handler<CardRemoved>;
    onCommunicationFailed: Handler<CommunicationFailed>;
    // Warning: (ae-forgotten-export) The symbol "Handler" needs to be exported by the entry point index.d.ts
    onDeviceConnected: Handler<DeviceConnected>;
    onDeviceDisconnected: Handler<DeviceDisconnected>;
    subscribe(reader?: string): Promise<void>;
    unsubscribe(reader?: string): Promise<void>;
}

// @public
export enum CardType {
    Contact = 1,
    Contactless = 2,
    Proximity = 4
}

// Warning: (ae-internal-missing-underscore) The name "CommunicationEventSource" should be prefixed with an underscore because the declaration is marked as @internal
// 
// @internal
export interface CommunicationEventSource {
    // (undocumented)
    onCommunicationFailed: Handler<CommunicationFailed>;
}

// @public
export class CommunicationFailed extends Event {
    constructor();
}

// @public
export class DeviceConnected extends DeviceEvent {
    constructor(deviceId: string);
}

// @public
export class DeviceDisconnected extends DeviceEvent {
    constructor(deviceId: string);
}

// @public
export class DeviceEvent extends Event {
    constructor(type: string, deviceId: string);
    deviceId: string;
}

// Warning: (ae-internal-missing-underscore) The name "DeviceEventSource" should be prefixed with an underscore because the declaration is marked as @internal
// 
// @internal
export interface DeviceEventSource {
    // (undocumented)
    on(event: "DeviceConnected", handler: Handler<DeviceConnected>): Handler<DeviceConnected>;
    // (undocumented)
    on(event: "DeviceDisconnected", handler: Handler<DeviceDisconnected>): Handler<DeviceDisconnected>;
    // (undocumented)
    onDeviceConnected: Handler<DeviceConnected>;
    // (undocumented)
    onDeviceDisconnected: Handler<DeviceDisconnected>;
}

// @public
export interface DeviceInfo {
    readonly DeviceID: string;
    readonly eDeviceModality: DeviceModality;
    readonly eDeviceTech: DeviceTechnology;
    readonly eUidType: DeviceUidType;
}

// @public
export enum DeviceModality {
    Area = 2,
    AreaMultifinger = 3,
    Swipe = 1,
    Unknown = 0
}

// @public
export enum DeviceTechnology {
    Capacitive = 2,
    Optical = 1,
    Pressure = 4,
    Thermal = 3,
    Unknown = 0
}

// @public
export enum DeviceUidType {
    Persistent = 0,
    Volatile = 1
}

// @public
export class ErrorOccurred extends DeviceEvent {
    constructor(deviceUid: string, error: number);
    error: number;
}

// @public
export class Event {
    constructor(type: string);
    // (undocumented)
    type: string;
}

// @public
export class FingerprintReader extends MultiCastEventSource {
    constructor(options?: WebSdk.WebChannelOptions | undefined);
    enumerateDevices(): Promise<string[]>;
    getDeviceInfo(deviceUid: string): Promise<DeviceInfo | null>;
    off<E extends Event>(event?: string, handler?: Handler<E>): this;
    on<E extends Event>(event: string, handler: Handler<E>): Handler<E>;
    onAcquisitionStarted: Handler<AcquisitionStarted>;
    onAcquisitionStopped: Handler<AcquisitionStopped>;
    onCommunicationFailed: Handler<CommunicationFailed>;
    onDeviceConnected: Handler<DeviceConnected>;
    onDeviceDisconnected: Handler<DeviceDisconnected>;
    onErrorOccurred: Handler<ErrorOccurred>;
    onQualityReported: Handler<QualityReported>;
    onSamplesAcquired: Handler<SamplesAcquired>;
    startAcquisition(sampleFormat: SampleFormat, deviceUid?: string): Promise<void>;
    stopAcquisition(deviceUid?: string): Promise<void>;
}

// Warning: (ae-internal-missing-underscore) The name "FingerprintsEventSource" should be prefixed with an underscore because the declaration is marked as @internal
// 
// @internal
export interface FingerprintsEventSource {
    // (undocumented)
    on(event: "SamplesAcquired", handler: Handler<SamplesAcquired>): Handler<SamplesAcquired>;
    // (undocumented)
    on(event: "QualityReported", handler: Handler<QualityReported>): Handler<QualityReported>;
    // (undocumented)
    on(event: "ErrorOccurred", handler: Handler<ErrorOccurred>): Handler<ErrorOccurred>;
    // (undocumented)
    on(event: "AcquisitionStarted", handler: Handler<AcquisitionStarted>): Handler<AcquisitionStarted>;
    // (undocumented)
    on(event: "AcquisitionStopped", handler: Handler<AcquisitionStopped>): Handler<AcquisitionStopped>;
    // (undocumented)
    onAcquisitionStarted: Handler<AcquisitionStarted>;
    // (undocumented)
    onAcquisitionStopped: Handler<AcquisitionStopped>;
    // (undocumented)
    onErrorOccurred: Handler<ErrorOccurred>;
    // (undocumented)
    onQualityReported: Handler<QualityReported>;
    // (undocumented)
    onSamplesAcquired: Handler<SamplesAcquired>;
}

// Warning: (ae-internal-missing-underscore) The name "IWAData" should be prefixed with an underscore because the declaration is marked as @internal
// 
// @internal (undocumented)
export interface IWAData {
    // (undocumented)
    Data: string;
    // (undocumented)
    Handle: AuthenticationHandle;
}

// @public
export enum QualityCode {
    // (undocumented)
    FakeFinger = 22,
    // (undocumented)
    Good = 0,
    // (undocumented)
    LowContrast = 5,
    // (undocumented)
    NoImage = 1,
    // (undocumented)
    NotAFinger = 8,
    // (undocumented)
    NotCentered = 7,
    // (undocumented)
    NotEnoughFeatures = 6,
    // (undocumented)
    PressureTooHard = 19,
    // (undocumented)
    PressureTooLight = 20,
    // (undocumented)
    ReverseMotion = 18,
    // (undocumented)
    RotatedTooMuch = 24,
    // (undocumented)
    TooDark = 3,
    // (undocumented)
    TooFast = 14,
    // (undocumented)
    TooHigh = 9,
    // (undocumented)
    TooLeft = 11,
    // (undocumented)
    TooLight = 2,
    // (undocumented)
    TooLow = 10,
    // (undocumented)
    TooNoisy = 4,
    // (undocumented)
    TooRight = 12,
    // (undocumented)
    TooShort = 16,
    // (undocumented)
    TooSkewed = 15,
    // (undocumented)
    TooSlow = 17,
    // (undocumented)
    TooSmall = 23,
    // (undocumented)
    TooStrange = 13,
    // (undocumented)
    WetFinger = 21
}

// @public
export class QualityReported extends DeviceEvent {
    constructor(deviceUid: string, quality: QualityCode);
    quality: QualityCode;
}

// @public
export enum SampleFormat {
    Compressed = 3,
    Intermediate = 2,
    PngImage = 5,
    Raw = 1
}

// @public
export class SamplesAcquired extends DeviceEvent {
    constructor(deviceUid: string, sampleFormat: SampleFormat, sampleData: string);
    sampleFormat: SampleFormat;
    samples: BioSample[];
}

// @public
export class WindowsAuthClient extends MultiCastEventSource implements IAuthenticationClient {
    constructor(options?: WebSdk.WebChannelOptions);
    continue(handle: AuthenticationHandle, data: string): Promise<Base64UrlString>;
    init(): Promise<AuthenticationData>;
    off<E extends Event>(event?: string, handler?: Handler<E>): this;
    on<E extends Event>(event: string, handler: Handler<E>): Handler<E>;
    onCommunicationFailed: Handler<CommunicationFailed>;
    term(handle: AuthenticationHandle): Promise<void>;
}


// (No @packageDocumentation comment for this package)

```
