/** @typedef {{ email: string, password: string }} CarnetUserCredentials */
export default class CarnetLoginHandler {
    /**
     *
     * @param {import('puppeteer').Page} page
     * @param {typeof defaultLogger?} logger
     */
    constructor(page: import("puppeteer").Page, logger?: {
        time: (...args: any[]) => void;
        timeEnd: (...args: any[]) => void;
        warn: (...args: any[]) => void;
        info: (...args: any[]) => void;
        debug: (...args: any[]) => void;
        log: (...args: any[]) => void;
        error: (...args: any[]) => void;
    });
    page: import("puppeteer").Page;
    logger: {
        time: (...args: any[]) => void;
        timeEnd: (...args: any[]) => void;
        warn: (...args: any[]) => void;
        info: (...args: any[]) => void;
        debug: (...args: any[]) => void;
        log: (...args: any[]) => void;
        error: (...args: any[]) => void;
    };
    /**
     *
     * @param {CarnetUserCredentials} credentials
     * @return {Promise<CarnetAPIClient>}
     */
    createClient(credentials: {
        email: string;
        password: string;
    }): Promise<CarnetAPIClient>;
    /**
     * @private
     */
    navigateToLoginPage(): Promise<void>;
    /**
     * @private
     */
    login(credentials: any): Promise<CarnetAPIClient>;
}
export type CarnetUserCredentials = {
    email: string;
    password: string;
};
import CarnetAPIClient from "./carnet-api-client";
