import { RunStrategy, IRunStrategyResult } from "./RunStrategy";
import { BrowserContext, Page, CDPSession } from "puppeteer";
import { IQuery } from "../query";
export declare const selectors: {
    container: string;
    chatPanel: string;
    jobs: string;
    link: string;
    applyBtn: string;
    title: string;
    company: string;
    companyLink: string;
    place: string;
    date: string;
    description: string;
    detailsPanel: string;
    detailsTop: string;
    details: string;
    insights: string;
    pagination: string;
    privacyAcceptBtn: string;
    paginationNextBtn: string;
    paginationBtn: (index: number) => string;
};
/**
 * @class AuthenticatedStrategy
 * @extends RunStrategy
 */
export declare class AuthenticatedStrategy extends RunStrategy {
    /**
     * Check if session is authenticated
     * @param {Page} page
     * @returns {Promise<boolean>}
     * @returns {Promise<ILoadResult>}
     * @static
     * @private
     */
    private static _isAuthenticatedSession;
    /**
     * Load jobs
     * @param page {Page}
     * @param jobsTot {number}
     * @param timeout {number}
     * @static
     * @private
     */
    private static _loadJobs;
    /**
     * Try to load job details
     * @param {Page} page
     * @param {string} jobId
     * @param {number} timeout
     * @static
     * @private
     */
    private static _loadJobDetails;
    /**
     * Try to paginate
     * @param {Page} page
     * @param {string} tag
     * @param {string} paginationSize
     * @param {number} timeout
     * @returns {Promise<ILoadResult>}
     * @static
     * @private
     */
    private static _paginate;
    /**
     * Hide chat panel
     * @param {Page} page
     * @param {string} tag
     */
    private static _hideChatPanel;
    /**
     * Accept cookies
     * @param {Page} page
     * @param {string} tag
     */
    private static _acceptCookies;
    /**
     * Accept privacy
     * @param page
     * @param tag
     */
    private static _acceptPrivacy;
    /**
     * 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>;
}
