declare module "u2f-api" { type MessageTypes = "u2f_register_request" | "u2f_sign_request" | "u2f_register_response" | "u2f_sign_response"; export interface Request { type: MessageTypes, signRequests: SignRequest[], registerRequests?: RegisterRequest[], timeoutSeconds?: number, requestId?: number } type ResponseData = Error | RegisterResponse | SignResponse; export interface Response { type: MessageTypes; responseData: ResponseData; requestId?: number; } export enum ErrorCodes { 'OK' = 0, 'OTHER_ERROR' = 1, 'BAD_REQUEST' = 2, 'CONFIGURATION_UNSUPPORTED' = 3, 'DEVICE_INELIGIBLE' = 4, 'TIMEOUT' = 5 } export interface Error { errorCode: ErrorCodes; errorMessage?: string; } export interface RegisterResponse { registrationData: string; clientData: string; } export interface RegisterRequest { version: string; challenge: string; appId: string; } export interface SignResponse { keyHandle: string; signatureData: string; clientData: string; } export interface SignRequest { version: string; challenge: string; keyHandle: string; appId: string; } export function sign(signRequests: SignRequest[], timeout: number): Promise; export function register(registerRequests: RegisterRequest[], signRequests: SignRequest[], timeout: number): Promise; }