interface IAuthFetchNonceResponse {
    nonce: string;
    issued_at: string;
    not_before: string;
    expiration_time: string;
}
export interface TokenExpirationInfo {
    expiresAt: Date;
    expiresIn: number;
    isExpired: boolean;
    humanReadable: string;
}
export declare const isTokenExpired: (token: string) => boolean;
export declare const getTokenExpirationInfo: (token: string) => TokenExpirationInfo;
export declare const generateAccessTokenMessage: (address: string, domain?: string, uri?: string, statement?: string) => Promise<string>;
export declare const exchangeToken: (signature: string, message: string) => Promise<{
    expirationInfo: TokenExpirationInfo;
    accessToken: string;
    accessTokenExpiresAt: string;
    accessTokenExpiresIn: number;
    refreshToken: string;
    userID: string;
    enabled_mfa: boolean;
}>;
export declare const exchangeNonce: (address: string) => Promise<IAuthFetchNonceResponse>;
declare const _default: {};
export default _default;
export declare const refreshToken: (refreshToken: string) => Promise<{
    newAccessToken: string;
    newRefreshToken: string;
    expirationInfo: TokenExpirationInfo;
}>;
