import { IClientRequest , IFido2DeviceInfo } from "../client/client" ; import { IFido2Device } from "../fido2/fido2-device-cli" ; export interface IModal { onRequest ( request ) : Promise < boolean > ; onDeviceAttached ( device ) : Promise < IFido2Device > ; onDeviceSelected ( info ) : void ; onSetPin ( ) : Promise < string > ; onEnterPin ( ) : Promise < string > ; onPinInvalid ( retries ) : Promise < string > ; onPinValid ( ) : void ; onPinAuthBlocked ( ) : void ; onPinBlocked ( ) : void ; onSuccess ( ) : void ; onKeepAlive ( status ) : void ; onTimeout ( ) : void ; onError ( error ) : void ; } export type AllowChannel = string ; export interface ModalRequest { publisher : string ; process : string ; rp : string ; trusted : boolean ; } export interface ModalMessage { type : string ; data : any ; } export interface ModalRequest { publisher : string ; process : string ; rp : string ; trusted : boolean ; } export interface IpcRendererApi { close ( ) : void ; acceptRequest ( ) : void ; rejectRequest ( ) : void ; get getRequest ( ) : Promise < ModalRequest > ; deviceAttach ( listener ) : void ; deviceDetach ( listener ) : void ; selectDevice ( device ) : Promise < IFido2DeviceInfo > ; cancelTransaction ( ) : void ; keepAlive ( listener ) : void ; get transactionSuccess ( ) : Promise < void > ; enterPin ( pin ) : void ; get pinValid ( ) : Promise < void > ; pinInvalid ( listener ) : void ; get pinAuthBlocked ( ) : Promise < void > ; get pinBlocked ( ) : Promise < void > ; get noCredentials ( ) : Promise < void > ; get timeout ( ) : Promise < void > ; }