import { type EventEmitter } from "../../stencil-public-runtime";
export type ChangeEvent = {
    oldValue: string;
    newValue: string;
};
export declare class ContentSwitcher {
    el: HTMLIfxContentSwitcherElement;
    items: Element[];
    activeIndex: number;
    hoverIndex: number;
    focusIndex: number;
    dividers: Element[];
    ifxChange: EventEmitter<ChangeEvent>;
    private eventHandlers;
    componentWillLoad(): void;
    componentDidLoad(): Promise<void>;
    disconnectedCallback(): void;
    /**
     * Initialize the dividers between items.
     */
    private initializeDividers;
    /**
     * Add event listeners for each item.
     */
    private addEventListeners;
    /**
     * Remove all event listeners.
     */
    private removeEventListeners;
    private ensureSingleSelectedItem;
    /**
     * Handle hover events on an item.
     * @param index - Index of the item.
     * @param isActive - Whether the item is hovered.
     */
    private handleHover;
    /**
     * Handle hover events on an item.
     * @param index - Index of the item.
     * @param isActive - Whether the item is focused.
     */
    private handleFocus;
    /**
     * Update visibility of dividers adjacent to a specific item.
     * @param itemIndex - Index of the item.
     */
    private updateDividersOfItem;
    /**
     * Update visibility of a specific divider.
     * @param dividerIndex - Index of the divider.
     */
    private updateDividerVisibility;
    /**
     * Set the visibility of a specific divider.
     * @param dividerIndex - Index of the divider.
     * @param hidden - Whether the divider should be hidden.
     */
    private setDividerVisibility;
    /**
     * Select a specific item.
     * @param itemIndex - Index of the item to be selected.
     */
    private selectItem;
    /**
     * Get the value property of the item at a specific index.
     * Falls back to the index if no value is set.
     *
     * @param index - Index of the item.
     * @returns The value of the item.
     */
    private getValueOfItem;
    render(): any;
}
