import { User } from './models/user';
import * as i0 from "@angular/core";
export declare class NgxAppkeyWebauthnService {
    localeList: Array<any>;
    appLocales: Array<any>;
    user: User;
    private apiConfig;
    constructor();
    configure(config: any): Promise<void>;
    getApp(): Promise<any>;
    /**
     *
     * @param {
     *   handle :string,
     *   displayName :string,
     *   locale? :string
     * }
     * @returns
     */
    loginAnonymous(data: any): Promise<unknown>;
    /**
     * https://w3c.github.io/webauthn/#dictdef-registrationresponsejson
     * @param
     *  handle: string,
     *  {
     *
     *  id: Base64URLString;
     *  rawId: Base64URLString;
     *  response: {
     *      clientDataJSON: Base64URLString;
     *      attestationObject: Base64URLString;
     *      authenticatorData?: Base64URLString;
     *    };
     *  authenticatorAttachment?: string;
     *  type: string;
     * } attestation
     * @returns
     */
    loginAnonymousComplete(handle: string, attestation: any): Promise<unknown>;
    /**
     *
     * @param {
      *   handle :string,
      *   displayName :string,
      *   locale? :string
      * }
      * @returns
      */
    signup(data: any): Promise<unknown>;
    /**
     * https://w3c.github.io/webauthn/#dictdef-registrationresponsejson
     * @param
     *  handle: string,
     *  {
     *
     *  id: Base64URLString;
     *  rawId: Base64URLString;
     *  response: {
     *      clientDataJSON: Base64URLString;
     *      attestationObject: Base64URLString;
     *      authenticatorData?: Base64URLString;
     *    };
     *  authenticatorAttachment?: string;
     *  type: string;
     * } attestation
     * @returns
     */
    signupConfirm(handle: string, attestation: any): Promise<unknown>;
    /**
     *
     * @param { handle:string, code:string} data
     * @returns
     */
    signupComplete(data: any): Promise<unknown>;
    /**
     *
     * @param {handle:string} data
     *
     * @returns
     */
    login(data: any): Promise<unknown>;
    /**
     * https://w3c.github.io/webauthn/#dictdef-authenticationresponsejson
     * @param
     * handle:string,
     *  {
     *      id: Base64URLString;
     *      rawId: Base64URLString;
     *      response: {
     *          clientDataJSON:Base64URLString,
     *          authenticatorData:Base64URLString,
     *          signature:Base64URLString,
     *          userHandle?: Base64URLString
     *          };
     *      authenticatorAttachment?: string;
     *      type: string;
     *  } assertion
     *
     * @returns
     */
    loginComplete(handle: string, assertion: any): Promise<unknown>;
    /**
     *
     * @param {token:string, provider:string} data
     *
     * @returns
     */
    socialLogin(data: any): Promise<unknown>;
    /**
    *
    * @param {token:string, provider:string, handle:string} data
    *
    * @returns
    */
    socialSignup(data: any): Promise<unknown>;
    /**
     *
     * @param {handle:string} data
     *
     * @returns
     */
    verify(data: any): Promise<unknown>;
    /**
    * https://w3c.github.io/webauthn/#dictdef-authenticationresponsejson
    * @param
    * handle:string,
    * {
   *      id: Base64URLString;
   *      rawId: Base64URLString;
   *      response: {
   *          clientDataJSON:Base64URLString,
   *          authenticatorData:Base64URLString,
   *          signature:Base64URLString,
   *          userHandle?: Base64URLString
   *          };
   *      authenticatorAttachment?: string;
   *      type: string
    * } assertion
    *
    * @returns
    */
    verifyComplete(handle: string, assertion: any): Promise<unknown>;
    /**
     *
     * @param {token:string, provider:string} data
     * @returns
     */
    verifySocialAccount(data: any): Promise<unknown>;
    logout(): void;
    /**
     *
     * @returns application user
     */
    getAppUser(): Promise<unknown>;
    /**
    *
    * @param {locale:string} data
    * @returns
    */
    setLocale(data: any): Promise<unknown>;
    /**
     *
     * @param {displayName:string} data
     * @returns
     */
    updateProfile(data: any): Promise<unknown>;
    /**
     *
     * @param {userName:string} data
     * @returns
     */
    setUserName(data: any): Promise<unknown>;
    /**
     *
     * @param {userName:string} data
     * @returns
     */
    userNameAvailable(data: any): Promise<unknown>;
    /**
     *
     *
     * @returns
     */
    deleteAccount(): Promise<unknown>;
    /**
     *
     *
     * @returns challenge
     */
    addPasskey(data?: any): Promise<unknown>;
    /**
     * https://w3c.github.io/webauthn/#dictdef-registrationresponsejson
     * @param
     *  {
     *
     *  id: Base64URLString;
     *  rawId: Base64URLString;
     *  response: {
     *      clientDataJSON: Base64URLString;
     *      attestationObject: Base64URLString;
     *      authenticatorData?: Base64URLString;
     *    };
     *  authenticatorAttachment?: string;
     *  type: string;
     * } attestation
     * @returns
     */
    addPasskeyComplete(attestation: any): Promise<unknown>;
    /**
    *
    * @param {keyId:string, keyName:string} data
    * @returns user
    */
    updatePasskey(data: any): Promise<unknown>;
    /**
    *
    * @param {keyId:string} data
    * @returns user
    */
    removePasskey(data: any): Promise<unknown>;
    private apiRequest;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxAppkeyWebauthnService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NgxAppkeyWebauthnService>;
}
