import { nothing, PropertyValues, TemplateResult } from 'lit';
import type { BeginPressConfig, EndPressConfig } from '../../../controllers/ActionController.js';
import type UiRipple from '../../ripple/internals/ripple.js';
import { UiElement } from '../../UiElement.js';
import type { SizingInfo, TabsPriority } from './Tabs.js';
import '../../ripple/ui-ripple.js';
export default class UiTab extends UiElement {
    get disabled(): boolean;
    /**
     * When set, the button is a disabled state.
     * @attribute
     */
    set disabled(value: boolean);
    /**
     * Whether the tab is selected. Note, this does not correspond to the `selected` state
     * in the `ui-tabs`. This is only to render the tab in the selected state.
     * @attribute
     */
    accessor selected: boolean;
    /**
     * @attribute
     */
    accessor priority: TabsPriority;
    /**
     * @attribute
     */
    accessor indicated: boolean;
    /**
     * Indicates whether the tab has an icon.
     * This is set automatically when the "icon" slot is populated.
     */
    protected accessor hasIcon: boolean;
    /**
     * Indicates whether the tab only has an icon and no text.
     * This is set automatically when the default slot is populated with only an icon.
     */
    protected accessor iconOnly: boolean;
    protected accessor ripple: UiRipple | null;
    constructor();
    connectedCallback(): void;
    protected willUpdate(cp: PropertyValues<this>): void;
    beginPress(options: BeginPressConfig): void;
    endPress(config: EndPressConfig): void;
    handleClick(e: MouseEvent): void;
    handlePointerEnter(e: PointerEvent): void;
    handlePointerLeave(e: PointerEvent): void;
    handleKeyUp(e: KeyboardEvent): void;
    /**
     * Sets the `_hasIcon` state property when the "icon" slot change event is dispatched.
     */
    protected handleIconSlotChange(e: Event): void;
    protected handleSlotChange(e: Event): void;
    getIndicatorSizing(): SizingInfo;
    /**
     * When `indicated` is `true` it animates the indicator to highlight the position of the tab.
     */
    highlight(): void;
    protected render(): TemplateResult;
    protected renderFocusRing(): TemplateResult;
    protected renderRipple(): TemplateResult;
    protected renderIcon(): TemplateResult;
    protected renderIndicator(): TemplateResult | typeof nothing;
}
//# sourceMappingURL=Tab.d.ts.map