import { RunStrategy, IRunStrategyResult } from "./RunStrategy";
import { BrowserContext, Page, CDPSession } from "puppeteer";
import { IQuery } from "../query";
export declare class Selectors {
    static switchSelectors: boolean;
    static get container(): ".results__container.results__container--two-pane" | ".two-pane-serp-page__results-list";
    static get jobs(): string;
    static get links(): ".jobs-search__results-list li a.result-card__full-card-link" | "a.base-card__full-link";
    static get applyLink(): string;
    static get dates(): string;
    static get companies(): ".result-card__subtitle.job-result-card__subtitle" | ".base-search-card__subtitle";
    static get places(): ".job-result-card__location" | ".job-search-card__location";
    static get detailsPanel(): string;
    static get description(): string;
    static get seeMoreJobs(): string;
}
/**
 * @class AnonymousStrategy
 * @extends RunStrategy
 */
export declare class AnonymousStrategy extends RunStrategy {
    /**
     * Verify if authentication is required
     * @param {Page} page
     * @returns {Promise<boolean>}
     * @static
     * @private
     */
    private static _needsAuthentication;
    /**
     * Wait for job details to load
     * @param page {Page}
     * @param jobId {string}
     * @param timeout {number}
     * @returns {Promise<ILoadResult>}
     * @static
     * @private
     */
    private static _loadJobDetails;
    /**
     * Try to load more jobs
     * @param page {Page}
     * @param jobLinksTot {number}
     * @param timeout {number}
     * @returns {Promise<ILoadResult>}
     * @private
     */
    private static _loadMoreJobs;
    /**
     * Accept cookies
     * @param {Page} page
     * @param {string} tag
     */
    private static _acceptCookies;
    /**
     * Run strategy
     * @param browser
     * @param page
     * @param cdpSession
     * @param url
     * @param query
     * @param location
     */
    run: (browser: BrowserContext, page: Page, cdpSession: CDPSession, url: string, query: IQuery, location: string) => Promise<IRunStrategyResult>;
}
