import { PublicKeyCredentialCreationOptionsJSON, PublicKeyCredentialRequestOptionsJSON } from "@simplewebauthn/typescript-types";
import type { PaymentRequestOptionsJSON } from "../../listen/auth/types";
import { PartialPaymentRequestOptionsJSON } from "../../listen/auth/types";
export interface AuthenticateOptions extends WebAuthnOptionsOptions {
    payment?: boolean | PartialPaymentRequestOptionsJSON;
    response?: WebAuthnOptionsResponse;
    redirect?: boolean;
}
export declare function authenticate(options: AuthenticateOptions): Promise<VerifyResponse>;
export interface WebAuthnOptionsOptions {
    email?: string;
    register?: boolean;
    authenticatorType?: string;
    registration?: Record<string, unknown>;
    authentication?: Record<string, unknown>;
}
export interface WebAuthnOptionsResponse {
    registration: {
        state: string;
        options: PublicKeyCredentialCreationOptionsJSON;
    };
    authentication?: {
        state: string;
        options: PublicKeyCredentialRequestOptionsJSON;
    };
    payment?: {
        state: string;
        options: PaymentRequestOptionsJSON;
    };
}
interface VerifyResponse {
    verified: boolean;
    userCredentialId?: string;
    userCredentialState?: string;
    redirectUrl?: string;
}
export {};
