export type CaptchaType = 'Image To Text' | 'reCAPTCHA v2' | 'reCAPTCHA v2 Invisible' | 'reCAPTCHA v3' | 'hCaptcha' | 'Cloudflare Turnstile' | 'Cloudflare CAPTCHA' | 'reCAPTCHA Enterprise' | 'Text Captcha' | 'GeeTest Captcha' | 'GeeTest V4 Captcha' | 'KeyCaptcha' | 'MTCaptcha' | 'Lemin CAPTCHA';
export type CaptchaData = {
    type: CaptchaType;
    siteKey?: string | null;
    gt?: string;
    challenge?: string;
    captchaId?: string;
    riskType?: string;
    userId?: string;
    sessionId?: string;
    sign?: string;
    sign2?: string;
};
export type CaptchaAnswer = {
    status?: number;
    data?: string;
    id?: string;
    gRecaptchaResponse?: string;
    token?: string;
    respKey?: string;
};
export interface CaptchaResponse {
    success: boolean;
    message: string;
}
export type TaskData = {
    type?: string;
    websiteURL?: string;
    gt?: string;
    version?: number | string;
    initParameters?: {
        riskType?: string;
    };
    body?: string;
    websiteKey?: string;
    minScore?: number;
    pageAction?: string;
    capMonsterModule?: string;
    case?: boolean;
    numeric?: number;
    math?: boolean;
    textLanguage?: string;
    recognizingThreshold?: number;
};
export type TaskResult = {
    captcha_id?: string;
    lot_number?: string;
    pass_token?: string;
    gen_time?: string;
    captcha_output?: string;
    gRecaptchaResponse?: string;
    token?: string;
    text?: string;
};
export type CaptchaInfo = {
    providers: Array<{
        name: 'capmonster' | '2captcha';
        apiKey: string;
    }>;
    apiKey: string;
    captchaType?: CaptchaType;
    textSelector?: string;
    imageSelector?: string;
    inputSelector?: string;
    textLanguage?: string;
    module?: string;
    caseSensitive?: boolean;
    numericCount?: number;
    threshold?: number;
    math?: boolean;
    minLength?: number;
    maxLength?: number;
};
