import { ICheckable, ICheckableEvents } from '../../../Behaviors/Checkable';
import { IconPosition } from '../../../Types/IconPosition';
import { Size } from '../../../Types/Size';
import { ButtonBaseElement } from '../../Buttons/Abstracts/ButtonBaseElement';
import { ISegmentItemElementProps } from './ISegmentItemElementProps';
declare const SegmentItemElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Orientable").IOrientableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Checkable").ICheckableProps & ICheckableEvents & ICheckable) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Labelable").ILabelableProps) & typeof ButtonBaseElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * Segment Item - A button within a segment control that represents an option or view.
 *
 * @element mosaik-segment-item
 *
 * @description
 * Segment Items are individual buttons within a Segment control. They represent options or views that users can select
 * by clicking. When a Segment Item is selected, others in the same Segment control are automatically deselected.
 *
 * Segment Items are typically used inside a `mosaik-segment` to provide a set of mutually exclusive choices or
 * navigation options within the content area.
 *
 * @category Layout
 *
 * @example
 * ```html
 * <mosaik-segment>
 *   <mosaik-segment-item>Option 1</mosaik-segment-item>
 *   <mosaik-segment-item>Option 2</mosaik-segment-item>
 *   <mosaik-segment-item>Option 3</mosaik-segment-item>
 * </mosaik-segment>
 * ```
 *
 * @public
 */
export declare class SegmentItemElement extends SegmentItemElement_base implements ISegmentItemElementProps, ICheckable, ICheckableEvents {
    private _icon;
    private _iconPosition;
    private _iconSize;
    /**
     * @public
     */
    constructor();
    /**
     * Returns the `{@link is}` property.
     * The `{@link is}` property represents natural name of this element.
     *
     * @public
     * @static
     * @readonly
     */
    static get is(): string;
    /**
     * Gets or sets the `icon` property.
     *
     * @public
     */
    get icon(): string;
    set icon(value: string);
    /**
     * Gets or sets the `iconPosition` property.
     *
     * @public
     */
    get iconPosition(): IconPosition;
    set iconPosition(value: IconPosition);
    /**
     * Gets or sets the `iconSize` property.
     *
     * @public
     */
    get iconSize(): Size | null;
    set iconSize(value: Size | null);
    /**
     * @protected
     */
    protected onIconPropertyChanged(prev: string, next: string): void;
}
/**
 * @public
 */
export declare namespace SegmentItemElement {
    type Props = ISegmentItemElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-segment-item': SegmentItemElement;
    }
}
export {};
//# sourceMappingURL=SegmentItemElement.d.ts.map