import { EnrollResponse, ChallengeResponse } from "./api/types/shared";
import { AuthsignalResponse, VerifyResponse } from "./types";
type EmailMagicLinkOptions = {
    baseUrl: string;
    tenantId: string;
    onTokenExpired?: () => void;
};
type EnrollParams = {
    email: string;
};
export declare class EmailMagicLink {
    private api;
    private cache;
    constructor({ baseUrl, tenantId, onTokenExpired }: EmailMagicLinkOptions);
    enroll({ email }: EnrollParams): Promise<AuthsignalResponse<EnrollResponse>>;
    challenge(): Promise<AuthsignalResponse<ChallengeResponse>>;
    checkVerificationStatus(): Promise<AuthsignalResponse<VerifyResponse>>;
}
export {};
