import EventEmitter from "eventemitter3";
import { BrowserContext, Page } from "playwright";
export interface TabEvents {
    'tabChanged': (page: Page) => void;
}
export interface TabState {
    activeTab: number;
    tabs: {
        title: string;
        url: string;
    }[];
}
export declare class TabManager {
    /**
     * Page / tab manager
     */
    private context;
    private activePage;
    readonly events: EventEmitter<TabEvents>;
    constructor(context: BrowserContext);
    private onPageCreated;
    private setActivePage;
    switchTab(index: number): Promise<void>;
    getActivePage(): Page;
    getPages(): Page[];
    retrieveState(): Promise<TabState>;
}
