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 - An individual selectable button within a Segment control.
 *
 * @description
 * The Segment Item component represents a single option within a Segment control. It can display
 * a label, an icon, or both, and supports checked/unchecked states managed by the parent segment.
 * Each segment item functions as a toggle button that automatically deselects other items in the
 * same segment when selected. The component supports both horizontal and vertical orientations,
 * icon positioning, and inherits appearance and variant from the parent segment.
 *
 * @name Segment Item
 * @element mosaik-segment-item
 * @category Selectors
 *
 * @slot icon - The icon displayed within the segment item
 * @slot label - The text label displayed within the segment item
 *
 * @csspart button - The main button element container
 * @csspart icon - The icon display area
 * @csspart innerStack - The inner layout stack for icon and label
 * @csspart label - The text label display area
 *
 * @cssprop {String} --segment-item-background - The item background CSS custom property.
 * @cssprop {String} --segment-item-background-checked - The item background checked CSS custom property.
 * @cssprop {String} --segment-item-background-color - The background fill color
 * @cssprop {String} --segment-item-background-focused - The item background focused CSS custom property.
 * @cssprop {String} --segment-item-background-focused-opacity - The item background focused opacity CSS custom property.
 * @cssprop {String} --segment-item-background-hover - The item background hover CSS custom property.
 * @cssprop {String} --segment-item-background-hover-opacity - The item background hover opacity CSS custom property.
 * @cssprop {String} --segment-item-border-color - The item border color CSS custom property.
 * @cssprop {String} --segment-item-border-radius - The item border radius CSS custom property.
 * @cssprop {String} --segment-item-border-style - The item border style CSS custom property.
 * @cssprop {String} --segment-item-border-width - The item border width CSS custom property.
 * @cssprop {String} --segment-item-color - The item color CSS custom property.
 * @cssprop {String} --segment-item-color-checked - The item color checked CSS custom property.
 * @cssprop {String} --segment-item-color-disabled - The item color disabled CSS custom property.
 * @cssprop {String} --segment-item-color-hover - The item color hover CSS custom property.
 * @cssprop {String} --segment-item-font-family - The font family for segment item text
 * @cssprop {String} --segment-item-font-letter-spacing - The letter spacing for segment item text
 * @cssprop {String} --segment-item-font-line-height - The line height for segment item text
 * @cssprop {String} --segment-item-font-size - The font size for segment item text
 * @cssprop {String} --segment-item-font-text-decoration - The text decoration style
 * @cssprop {String} --segment-item-font-text-transform - The text transformation style
 * @cssprop {String} --segment-item-font-weight - The font weight for segment item text
 * @cssprop {String} --segment-item-gap - The item gap CSS custom property.
 * @cssprop {String} --segment-item-padding-bottom - The item padding bottom CSS custom property.
 * @cssprop {String} --segment-item-padding-end - The item padding end CSS custom property.
 * @cssprop {String} --segment-item-padding-left - The item padding left CSS custom property.
 * @cssprop {String} --segment-item-padding-right - The item padding right CSS custom property.
 * @cssprop {String} --segment-item-padding-start - The item padding start CSS custom property.
 * @cssprop {String} --segment-item-padding-top - The item padding top CSS custom property.
 * @cssprop {String} --segment-item-shadow - The item shadow CSS custom property.
 * @cssprop {String} --segment-item-shadow-blur - The item shadow blur CSS custom property.
 * @cssprop {String} --segment-item-shadow-color - The item shadow color CSS custom property.
 * @cssprop {String} --segment-item-shadow-offset-x - The item shadow offset x CSS custom property.
 * @cssprop {String} --segment-item-shadow-offset-y - The item shadow offset y CSS custom property.
 * @cssprop {String} --segment-item-shadow-spread - The item shadow spread CSS custom property.
 * @cssprop {String} --segment-item-transition-duration - The item transition duration CSS custom property.
 * @cssprop {String} --segment-item-transition-mode - The item transition mode CSS custom property.
 * @cssprop {String} --segment-item-transition-property - The item transition property CSS custom property.
 * @cssprop {String} --segment-item-translate - The item translate CSS custom property.
 *
 * @fires toggled {ToggledEvent} - Dispatched when the segment item is toggled, regardless of the new state
 * @fires checked {CheckedEvent} - Fired when the segment item is checked
 * @fires unchecked {UncheckedEvent} - Fired when the segment item is unchecked
 * @fires connected {ConnectedEvent} - Fired when connected to the DOM
 * @fires changed {PropertyChangedEvent} - Fired when properties change
 *
 * @dependency mosaik-icon - The Icon element.
 * @dependency mosaik-stack - The Stack element.
 * @dependency mosaik-text - The Text element.
 *
 * @example
 * Basic segment item with slotted label:
 * ```html
 * <mosaik-segment-item><span slot="label">Daily</span></mosaik-segment-item>
 * ```
 *
 * @example
 * Segment item with icon-position and checked state:
 * ```html
 * <mosaik-segment-item is-checked icon-position="before">
 *   <span slot="label">Grid View</span>
 * </mosaik-segment-item>
 * ```
 *
 * @example
 * Disabled segment item:
 * ```html
 * <mosaik-segment-item disabled>
 *   <span slot="label">Unavailable</span>
 * </mosaik-segment-item>
 * ```
 *
 * @public
 */
export declare class SegmentItemElement extends SegmentItemElement_base implements ISegmentItemElementProps, ICheckable, ICheckableEvents {
    private readonly _inheritance;
    private _icon;
    private _iconPosition;
    private _iconSize;
    /**
     * @public
     */
    constructor();
    /**
     * Returns the `is` property.
     * The `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