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