import { ComponentInterface } from '../../../stencil-public-runtime';
import { HTMLStencilElement } from '../../../stencil-public-runtime';
import { BalAriaForm } from '../../../utils/form';
import { SegmentValue } from '../bal-segment.types';
export declare class SegmentItem implements ComponentInterface {
    private segmentEl;
    private nativeEl;
    private inheritedAttributes;
    private internalId;
    private inputId;
    el: HTMLStencilElement;
    hasSlotContent: boolean;
    isFocusable: boolean;
    isVertical: boolean;
    isLast: boolean;
    isFirst: boolean;
    hasEmptyValue: boolean;
    ariaForm: BalAriaForm;
    /**
     * If `true`, the user cannot interact with the segment button.
     */
    disabled: boolean;
    /**
     * If `true`, the segment is shown in red.
     */
    invalid: boolean;
    /**
     * @internal
     * Sets focus state for key navigation
     */
    focused: boolean;
    /**
     * @internal
     * Sets checked state for key navigation
     */
    checked: boolean;
    /**
     * Label of the segment control
     */
    label: string;
    /**
     * The value of the segment button.
     */
    value: SegmentValue;
    valueChanged(newValue: SegmentValue, oldValue: SegmentValue): void;
    componentWillLoad(): void;
    connectedCallback(): void;
    componentDidLoad(): void;
    disconnectedCallback(): void;
    private calculateEmptyValue;
    /**
     * @internal
     * Focuses the native <button> element
     * inside of ion-segment-button.
     */
    setFocus(): Promise<void>;
    /**
     * @internal
     */
    setAriaForm(ariaForm: BalAriaForm): Promise<void>;
    private updateVertical;
    private updateState;
    private get allAvailableOptions();
    private get allOptions();
    private checkSlotContent;
    private onSlottedItemsChange;
    render(): any;
}
