///
import { AxiosInstance, AxiosProxyConfig } from 'axios';
import { AuthenticatorState } from './AuthenticatorState';
import { AuthGatewayRequest, AuthGatewayResponse, TAuthGatewayRequest, TAuthGatewayResponseOut } from './protobuf';
import { RecursivePartial } from '../RecursivePartial';
/**
* @deprecated
*/
export declare class Authenticator {
static readonly PROTOBUF_FILE = "authgateway.proto";
static readonly TINDER_URL = "https://api.gotinder.com/";
static readonly TINDER_VERSION = "12.6.0";
static readonly TINDER_USER_AGENT = "Tinder Android Version 12.6.0";
static readonly APPSFLYER_ID = "1600144077225-7971032049730563486";
static readonly APP_VERSION = "4023";
static readonly OS_VERSION = "25";
readonly phone: string;
readonly email: string;
protected readonly tinderVersion: string;
protected readonly installId: string;
protected readonly funnelId: string;
protected readonly appSessionId: string;
protected readonly deviceId: string;
protected authToken: string;
protected refreshToken: string;
protected userId: string;
protected readonly httpClient: AxiosInstance;
protected readonly cookieJar: any;
protected seconds: number;
protected headers: {
[p: string]: any;
};
private isFirstRequest;
protected readonly chance: Chance.Chance;
get state(): AuthenticatorState;
private _state;
protected readonly AuthGatewayRequest: AuthGatewayRequest;
protected readonly AuthGatewayResponse: AuthGatewayResponse;
constructor(phone: string, email: string, refreshToken?: string, proxy?: AxiosProxyConfig);
/**
* @param {RecursivePartial} message
* @return {Promise>}
* @protected
*/
protected request(message: RecursivePartial): Promise>;
/**
* @param {RecursivePartial} message
* @return {Promise}
* @protected
*/
protected processNext(message: RecursivePartial): Promise;
/**
* @return {Promise}
* @protected
*/
protected beginWithPhone(): Promise;
/**
* @return {Promise}
* @protected
*/
protected authorizePhone(): Promise;
/**
* @return {Promise}
* @protected
*/
protected authorizeEmail(): Promise;
/**
* @return {Promise}
*/
login(): Promise;
/**
* @param {string} smsCode
* @return {Promise}
*/
continueWithSMSCode(smsCode: string): Promise;
/**
* @param {string} emailCode
* @return {Promise}
*/
continueWithEmailCode(emailCode: string): Promise;
/**
* @return {{auth_token: string, user_id: string}}
*/
result(): {
auth_token: string;
user_id: string;
};
}