/**
 * Windows Hello authentication for Node.js
 */

/**
 * Windows Hello API interface
 */
interface WinHelloAPI {
  /**
   * Check if Windows Hello is available on the system
   * @returns Promise that resolves to true if Windows Hello is available, rejects otherwise
   */
  isHelloAvailable(): Promise<boolean>;

  /**
   * Request Windows Hello authentication
   * @param message - Message to display to the user
   * @param windowHandle - Optional native window handle as a Buffer (from Electron's getNativeWindowHandle)
   * @returns Promise that resolves on successful authentication, rejects otherwise
   */
  requestHello(message?: string, windowHandle?: Buffer): Promise<string>;
}

/**
 * Factory function to create Windows Hello API
 * @returns Windows Hello API object with isHelloAvailable and requestHello methods
 */
declare function createWinHello(): WinHelloAPI;

export default createWinHello;

// For CommonJS default export compatibility
export as namespace createWinHello;
