import { nothing, TemplateResult } from 'lit';
import { EndPressConfig } from '../../../controllers/ActionController.js';
import UiRipple from '../../ripple/internals/ripple.js';
import { UiElement } from '../../UiElement.js';
import type { 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;
    protected accessor hasIcon: boolean;
    protected accessor showRipple: boolean;
    protected accessor ripple: Promise<UiRipple | null>;
    protected readonly getRipple: () => Promise<UiRipple | null>;
    constructor();
    connectedCallback(): void;
    endPress(config: EndPressConfig): void;
    /**
     * Sets the `_hasIcon` state property when the "icon" slot change event is dispatched.
     */
    protected handleIconChange(e: Event): void;
    /**
     * When `indicated` is `true` it animates the indicator to highlight the position of the tab.
     */
    highlight(): void;
    protected render(): TemplateResult;
    protected renderIcon(): TemplateResult;
    protected renderRipple: () => TemplateResult;
    protected renderIndicator(): TemplateResult | typeof nothing;
}
//# sourceMappingURL=Tab.d.ts.map