/**
 *
 * carbon-angular v0.0.0 | base-tab-header.component.d.ts
 *
 * Copyright 2014, 2025 IBM
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0

 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


import { ElementRef, TemplateRef, ChangeDetectorRef, Renderer2 } from "@angular/core";
import { EventService } from "carbon-components-angular/utils";
import * as i0 from "@angular/core";
/**
 * There are two ways to create a tab, this class is a collection of features
 * & metadata required by both.
 */
export declare class BaseTabHeader {
    protected elementRef: ElementRef;
    protected changeDetectorRef: ChangeDetectorRef;
    protected eventService: EventService;
    protected renderer: Renderer2;
    /**
     * Set to 'true' to have `Tab` items cached and not reloaded on tab switching.
     * Duplicate from `n-tabs` to support standalone headers
     */
    cacheActive: boolean;
    /**
     * Set to 'true' to have tabs automatically activated and have their content displayed when they receive focus.
     */
    followFocus: boolean;
    /**
     * Sets the aria label on the nav element.
     */
    ariaLabel: string;
    /**
     * Sets the aria labelledby on the nav element.
     */
    ariaLabelledby: string;
    contentBefore: TemplateRef<any>;
    contentAfter: TemplateRef<any>;
    type: "line" | "contained";
    theme: "dark" | "light";
    tabsClass: boolean;
    get containedClass(): boolean;
    get themeClass(): boolean;
    /**
     * Gets the Unordered List element that holds the `Tab` headings from the view DOM.
     */
    headerContainer: any;
    /**
     * Controls the manual focusing done by tabbing through headings.
     */
    currentSelectedTab: number;
    readonly OVERFLOW_BUTTON_OFFSET = 44;
    readonly longPressMultiplier = 3;
    readonly clickMultiplier = 1.5;
    protected longPressInterval: any;
    protected tickInterval: any;
    get hasHorizontalOverflow(): boolean;
    get leftOverflowNavButtonHidden(): boolean;
    get rightOverflowNavButtonHidden(): boolean;
    constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, eventService: EventService, renderer: Renderer2);
    handleScroll(): void;
    handleOverflowNavClick(direction: number, numOftabs?: number): void;
    handleOverflowNavMouseDown(direction: number): void;
    /**
     * Clear intervals/Timeout & reset scroll behavior
     */
    handleOverflowNavMouseUp(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BaseTabHeader, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BaseTabHeader, "ng-component", never, { "cacheActive": "cacheActive"; "followFocus": "followFocus"; "ariaLabel": "ariaLabel"; "ariaLabelledby": "ariaLabelledby"; "contentBefore": "contentBefore"; "contentAfter": "contentAfter"; "type": "type"; "theme": "theme"; }, {}, never, never, false>;
}
