vk-io
Version:
Modern VK API SDK for Node.js
54 lines (53 loc) • 1.68 kB
TypeScript
import { APIRequest } from '../api/request';
import { CaptchaType } from './constants';
export interface ICallbackServiceCaptchaPayload {
type: CaptchaType;
sid: string | number;
src: string;
request?: APIRequest;
}
export interface ICallbackServiceTwoFactorPayload {
phoneMask?: string;
type?: 'app' | 'sms';
}
export type CallbackServiceRetry = (code: Error | string) => Promise<void>;
export type CaptchaHandler = (payload: ICallbackServiceCaptchaPayload, retry: CallbackServiceRetry) => Promise<void> | void;
export type TwoFactorHandler = (payload: ICallbackServiceTwoFactorPayload, retry: CallbackServiceRetry) => Promise<void> | void;
export interface ICallbackServiceValidate {
resolve: () => void;
reject: (error: Error) => void;
}
export declare class CallbackService {
private captchaHandler?;
private twoFactorHandler?;
/**
* Checks if there is a captcha handler
*/
get hasCaptchaHandler(): boolean;
/**
* Checks if there is a two-factor handler
*/
get hasTwoFactorHandler(): boolean;
/**
* Sets a handler for captcha processing
*/
onCaptcha(handler: CaptchaHandler): this;
/**
* Sets a handler for two factor processing
*/
onTwoFactor(handler: TwoFactorHandler): this;
/**
* Processing captcha
*/
processingCaptcha(payload: ICallbackServiceCaptchaPayload): Promise<{
key: string;
validate: ICallbackServiceValidate;
}>;
/**
* Processing two-factor
*/
processingTwoFactor(payload: ICallbackServiceTwoFactorPayload): Promise<{
code: string;
validate: ICallbackServiceValidate;
}>;
}