import { EventEmitter } from '../../../../stencil-public-runtime';
/**
 * This tab should control a tab panel.
 * Use the `ariacontrols` and `tabid` props to connect the tab with the tab panel.
 * The tab panel should in turn have `aria-labelledby` set to the `tabid` of the tab.
 *
 * If you use the `href` prop, the tab will turn into an anchor element instead of a button.
 * This does not required the ariacontrols and tabid props.
 */
export declare class PnTab {
    private mo;
    private tag;
    hostElement: HTMLElement;
    /** Set a label for the tab. */
    label: string;
    /** This is the value that will be matched with `pn-tablist` value. (required) */
    value: string;
    /** Turns the tab from a `button` to an `a` element, but only if the `pn-tablist` is inside a `pn-header`. */
    href?: string;
    /** The SVG content of the icon you want to display */
    icon?: string;
    /** Use the ID of the container that this tab controls.  */
    ariacontrols?: string;
    /** Tab ID, use if you want to have the tab container be `aria-labelledby` by this tab. */
    tabid?: string;
    /** Is set by `pn-tablist`, don't use this prop. @hide true */
    activeTab: string;
    /** Used by `pn-tab` to communicate with `pn-tablist`. Emits the selected tab value and element. */
    setActiveTab: EventEmitter<{
        val: string;
        el: HTMLElement;
    }>;
    setActiveTabHandler({ click, element }?: {
        click?: boolean;
        element?: HTMLPnTabElement;
    }): void;
    /** Used by `pn-tab` to communicate with `pn-tablist`. Emits when the tab gets focus. */
    tabEnter: EventEmitter<MouseEvent | FocusEvent>;
    triggerEnter(event: MouseEvent | FocusEvent): void;
    /** Used by `pn-tab` to communicate with `pn-tablist`. Emits when the tab is blured.  */
    tabLeave: EventEmitter<MouseEvent | FocusEvent>;
    triggerLeave(event: MouseEvent | FocusEvent): void;
    connectedCallback(): void;
    disconnectedCallback(): void;
    componentWillLoad(): void;
    componentDidUpdate(): void;
    componentDidLoad(): void;
    private arrowKeyNav;
    private isActive;
    private tabTag;
    private renderProperties;
    private iconColor;
    private handleClick;
    render(): any;
}
