/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { ITabDimensions } from './tab-constants';
import { BaseComponent, IBaseComponent } from '../../core/base/base-component';
export interface ITabComponent extends IBaseComponent {
    disabled: boolean;
    active: boolean;
    stretch: boolean;
    activate(previousIndicatorClientRect?: DOMRect): void;
    deactivate(): void;
    computeIndicatorBounds(): DOMRect | undefined;
    computeDimensions(): ITabDimensions;
    setTabIndex(value: number): void;
}
declare global {
    interface HTMLElementTagNameMap {
        'forge-tab': ITabComponent;
    }
    interface HTMLElementEventMap {
        'forge-tab-interacted': CustomEvent<void>;
    }
}
/**
 * The web component class behind the `<forge-tab>` custom element.
 *
 * @tag forge-tab
 */
export declare class TabComponent extends BaseComponent implements ITabComponent {
    static get observedAttributes(): string[];
    private _foundation;
    constructor();
    connectedCallback(): void;
    disconnectedCallback(): void;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
    disabled: boolean;
    active: boolean;
    stretch: boolean;
    activate(previousIndicatorClientRect?: DOMRect): void;
    deactivate(): void;
    computeIndicatorBounds(): DOMRect | undefined;
    computeDimensions(): ITabDimensions;
    setTabIndex(value: number): void;
}
