import type { TabsOwner } from '../types';
/**
 * Page object for the `nimble-tabs` and `nimble-anchor-tabs` components to provide
 * consistent ways of querying and interacting with the component during tests.
 */
export declare abstract class TabsBasePageObject<T extends TabsOwner> {
    protected readonly tabsElement: T;
    protected readonly tabElementName: string;
    protected readonly tabPanelElementName?: string | undefined;
    constructor(tabsElement: T, tabElementName: string, tabPanelElementName?: string | undefined);
    clickTab(index: number): Promise<void>;
    pressKeyOnTab(index: number, key: string): Promise<void>;
    setTabsWidth(width: number): Promise<void>;
    clickScrollLeftButton(): Promise<void>;
    clickScrollRightButton(): Promise<void>;
    areScrollButtonsVisible(): boolean;
    addTab(label: string): Promise<void>;
    removeTab(index: number): Promise<void>;
    updateTabLabel(index: number, label: string): Promise<void>;
    getTabsViewScrollOffset(): number;
}
