/**
 * @license
 * Copyright 2023 Google LLC
 * SPDX-License-Identifier: Apache-2.0
 */
import '../../elevation/elevation.js';
import '../../focus/md-focus-ring.js';
import '../../ripple/ripple.js';
import { LitElement } from 'lit';
import { ClassInfo } from 'lit/directives/class-map.js';
/**
 * Symbol used by the tab bar to request a tab to animate its indicator from a
 * previously selected tab.
 */
export declare const ANIMATE_INDICATOR: unique symbol;
declare const tabBaseClass: import("../../labs/behaviors/mixin.js").MixinReturn<typeof LitElement, import("../../labs/behaviors/focusable.js").Focusable>;
/**
 * Tab component.
 */
export declare class Tab extends tabBaseClass {
    /**
     * The attribute `md-tab` indicates that the element is a tab for the parent
     * element, `<md-tabs>`. Make sure if you're implementing your own `md-tab`
     * component that you have an `md-tab` attribute set.
     */
    readonly isTab = true;
    /**
     * Whether or not the tab is selected.
     **/
    active: boolean;
    /**
     * @deprecated use `active`
     */
    get selected(): boolean;
    set selected(active: boolean);
    /**
     * In SSR, set this to true when an icon is present.
     */
    hasIcon: boolean;
    /**
     * In SSR, set this to true when there is no label and only an icon.
     */
    iconOnly: boolean;
    private readonly indicator;
    protected fullWidthIndicator: boolean;
    private readonly assignedDefaultNodes;
    private readonly assignedIcons;
    private readonly internals;
    constructor();
    protected render(): import("lit-html").TemplateResult<1>;
    protected getContentClasses(): ClassInfo;
    protected updated(): void;
    private handleKeydown;
    private handleContentClick;
    [ANIMATE_INDICATOR](previousTab: Tab): void;
    private getKeyframes;
    private handleSlotChange;
    private handleIconSlotChange;
}
export {};
