import { Buffer } from 'buffer/index.js'; export type HaloCommandObject = any; export type HaloResponseObject = any; export interface Card { type: string; atr: Buffer; } export interface ReaderEventListener { (eventName: 'card', listener: (card: Card) => void): void; (eventName: 'card.off', listener: (card: Card) => void): void; (eventName: 'error', listener: (err: Error) => void): void; (eventName: 'end', listener: () => void): void; } export interface Reader { name: string; reader: { name: string; }; autoProcessing: boolean; transmit: (data: Buffer, responseMaxLength: number) => Promise; on: ReaderEventListener; close: () => void; } export interface TransceiveFunc { (data: Buffer): Promise; } export interface StatusCallbackDetails { execMethod: string; execStep: string; cancelScan: () => void; } export interface PublicKeyList { [keyNo: number]: string; } export interface ExecReturnStruct { result: string; extra: Record; } export interface ExecHaloCmdOptions { method: "credential" | "pcsc" | "webnfc" | "nfc-manager" | "simulator"; exec: (command: Buffer, options?: ExecOptions) => Promise; } export interface ExecOptions { statusCallback?: (status: string, statusDetails: StatusCallbackDetails) => void; } export type HaloWebMethod = "credential" | "webnfc"; export interface ExecHaloCmdWebOptions extends ExecOptions { method?: HaloWebMethod; noDebounce?: boolean; } export interface HaloAPICallOptions { method?: HaloWebMethod | "pcsc" | "nfc-manager"; } export interface HaloWebAPICallOptions { method?: HaloWebMethod; } export interface EmptyOptions { } export interface RNNFCManagerIsoDepHandler { transceive: (data: number[]) => Promise; } export interface RNNFCManager { isoDepHandler: RNNFCManagerIsoDepHandler; } export interface ExecOptions { noCheck?: boolean; pcscExecLayer?: "u2f"; } export interface GatewayWelcomeMsg { serverVersion: { tagName: string; commitId: string; version: number[]; }; sessionId: string; } export interface BaseCreateWSOptions { createWebSocket?: (url: string) => WebSocket; } export interface BridgeOptions extends BaseCreateWSOptions { } export interface SimulatorOptions extends BaseCreateWSOptions { noDebugPrints?: boolean; } export interface ConnectSimulatorOptions { url: string; csetId: string; simInstance: string; authSecret: string; timeout?: number; } export interface BridgeEvent { event: "handle_added" | "handle_removed" | "handle_not_compatible" | "reader_added" | "reader_removed" | "exec_success" | "exec_exception"; uid: string | null; } export interface BridgeHandleEvent extends BridgeEvent { event: "handle_added" | "handle_removed"; uid: null; data: { handle: string; reader_name: string; }; } export interface BridgeHandleAdded extends BridgeHandleEvent { event: "handle_added"; } export interface BridgeHandleRemoved extends BridgeHandleEvent { event: "handle_removed"; } export interface BridgeHandleNotCompatibleEvent extends BridgeEvent { event: "handle_not_compatible"; uid: null; data: { reader_name: string; message: string; }; } export interface FindBridgeOptions { wsPort?: number; wssPort?: number; createWebSocket?: (url: string) => WebSocket; diagnose?: boolean; } export interface FindBridgeOptionsNoDiagnose extends FindBridgeOptions { diagnose?: false; } export interface FindBridgeOptionsDiagnose extends FindBridgeOptions { diagnose: true; } export interface FindBridgeResult { urls: string[]; errors: string[]; } export interface KeyFlags { isPasswordProtected: boolean; rawSignCommandNotUsed: boolean; isImported: boolean; isExported: boolean; } export interface KeyState extends KeyFlags { failedAuthCounter: number; } export interface HaloCmdCFGNDEF { flagUseText?: boolean; flagHidePk1?: boolean; flagHidePk2?: boolean; flagHidePk3?: boolean; flagShowPk1Attest?: boolean; flagShowPk2Attest?: boolean; flagHideRNDSIG?: boolean; flagHideCMDRES?: boolean; flagShowPk3Attest?: boolean; flagShowLatch1Sig?: boolean; flagShowLatch2Sig?: boolean; flagLegacyStatic?: boolean; flagShowPkN?: boolean; flagShowPkNAttest?: boolean; flagRNDSIGUseBJJ62?: boolean; pkN?: KeySlotNo; } export interface HaloResCFGNDEF { status: "ok"; cfgBytes: HexString; } export interface HaloCmdGenKey { keyNo: KeySlotNo; entropy?: HexString; } export interface HaloResGenKeyV1 { needsConfirmPK: true; publicKey: HexString; } export interface HaloResGenKeyV2 { needsConfirmPK: false; rootPublicKey: HexString; rootAttestSig: HexString; } export type HaloResGenKey = HaloResGenKeyV1 | HaloResGenKeyV2; export interface HaloCmdGenKeyConfirm { keyNo: KeySlotNo; publicKey: HexString; } export interface HaloResGenKeyConfirm { rootPublicKey: HexString; rootAttestSig: HexString; } export interface HaloCmdGenKeyFinalize { keyNo: KeySlotNo; password?: ASCIIString; } export interface HaloResGenKeyFinalize { publicKey: HexString; attestSig: HexString; } export type KeySlotNo = number; export type ASCIIString = string; export type HexString = string; export * from './halo/command_types.js'; export * from './types_webnfc.js'; //# sourceMappingURL=types.d.ts.map