import { LitElement } from "lit"; import { Session } from "../core/session.js"; export declare enum State { EMAIL_SENDING = "email:link:sending",// sending an email link EMAIL_SENT = "email:link:sent",// the email link has been sent EMAIL_VERIFYING = "email:link:verifying",// verifying the callback code from the email link AUTHENTICATED = "authenticated",// the user is authenticated (using email or passkey) PASSKEYS_VERIFYING = "passkeys:verifying",// the user is anthenticating with passkey ERROR = "error" } /** * @summary `np-login` is a custom element for user authentication via email link (magic-link) or Passkeys. * * @description * This component manages the authentication process using WebAuthn passkeys or email link authentication. * It handles sending email links, processing callback codes, and verifying passkey challenges. * The component emits events for successful login and errors, allowing other parts of the application to * respond accordingly. It also provides visual feedback for different states of the authentication process. * * @event np:login - Emitted when the session is successfully created. * @event np:error - Emitted when an error occurs during the authentication process. * * @csspart button - The submit button wrapper. * @csspart input - The email input wrapper. */ export declare class NpLogin extends LitElement { /** */ state?: State; passkeys?: boolean; placeholder: string; id: string; lifetime?: number; idletimeout?: number; value: string; private abortConditianal?; connectedCallback(): Promise; disconnectedCallback(): Promise; loginWithEmail(): Promise; private handleCallbackIfNeeded; private startConditionalUI; getSession(): Promise; private signalSuccess; private signalError; private onInput; private onKeyUp; render(): import("lit-html").TemplateResult<1>; static styles: import("lit").CSSResult[]; } declare global { interface HTMLElementTagNameMap { "np-login": NpLogin; } }