UNPKG

vk-io

Version:

Modern VK API SDK for Node.js

54 lines (53 loc) 1.68 kB
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; }>; }