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