import { Authsignal, AuthsignalOptions } from "@authsignal/browser";
import type { Passkey } from "@authsignal/browser/dist/passkey";
import type { PasskeyApiClient } from "@authsignal/browser/dist/api";
interface AuthsignalMeta {
    tenantId: string;
    baseUrl: string;
    trackUrl: string;
}
export declare function isAuthsignalMeta(element?: HTMLElement): boolean;
export declare function getAuthsignalMeta(element?: HTMLElement): AuthsignalMeta;
export declare function getAuthsignalClient(meta?: AuthsignalMeta): AuthsignalCustomClient;
export interface PasskeyOptions {
    email?: string;
    payment?: boolean;
    register?: boolean;
}
export declare function authsignalPasskey({ email, payment, register }: PasskeyOptions, meta?: AuthsignalMeta): Promise<void>;
declare class AuthsignalCustomPasskey implements Passkey {
    base: Passkey;
    constructor(base: Passkey);
    get api(): PasskeyApiClient;
    signIn(params?: {
        token: string;
        extensions?: Record<string, unknown>;
    }): Promise<string | undefined>;
    signIn(params?: {
        autofill: boolean;
        extensions?: Record<string, unknown>;
    }): Promise<string | undefined>;
    signUp({ userName, token, extensions, authenticatorSelection }: {
        userName: string;
        token: string;
        extensions?: Record<string, unknown>;
        authenticatorSelection?: Record<string, unknown>;
    }): Promise<string | undefined>;
}
declare class AuthsignalCustomClient extends Authsignal {
    extendedPasskey: AuthsignalCustomPasskey;
    constructor(options: AuthsignalOptions);
}
export {};
