import { AuthenticationResponseJSON, RegistrationResponseJSON } from "@simplewebauthn/types";
import { AuthsignalResponse } from "./types";
import { SecurityKeyApiClient } from "./api/security-key-api-client";
type SecurityKeyOptions = {
    baseUrl: string;
    tenantId: string;
    onTokenExpired?: () => void;
};
type EnrollResponse = {
    token?: string;
    registrationResponse?: RegistrationResponseJSON;
};
type VerifyResponse = {
    isVerified: boolean;
    token?: string;
    authenticationResponse?: AuthenticationResponseJSON;
};
export declare class SecurityKey {
    api: SecurityKeyApiClient;
    private cache;
    constructor({ baseUrl, tenantId, onTokenExpired }: SecurityKeyOptions);
    enroll(): Promise<AuthsignalResponse<EnrollResponse>>;
    verify(): Promise<AuthsignalResponse<VerifyResponse>>;
}
export {};
