import { ListBulletType } from '../../../Types/ListBulletType';
import { ListNumberingType } from '../../../Types/ListNumberingType';
import { ListType } from '../../../Types/ListType';
import { CustomElement } from '../../Abstracts/CustomElement';
import type { IMarkerElementProps } from './IMarkerElementProps';
declare const MarkerElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Appearanceable").IAppearanceableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Variantable").IVariantableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Sizeable").ISizeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Disableable").IDisableableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * Marker - A standalone marker element with a round badge-like appearance.
 *
 * @description
 * The Marker component renders either a numbered/lettered indicator for ordered lists or
 * a bullet glyph for unordered lists. It uses the same visual design as `BadgeElement` but
 * is always round (`border-radius: 50%`). The component is standalone and reusable in
 * listings, timelines, steps, tables of contents, and navigation elements.
 *
 * @name Marker
 * @element mosaik-marker
 * @category Primitives
 *
 * @csspart label - The text content of the marker (number, letter, or bullet).
 *
 * @cssprop {String} --marker-background-color - The background color of the marker.
 * @cssprop {String} --marker-foreground-color - The text color of the marker.
 * @cssprop {String} --marker-border-color - The border color of the marker.
 * @cssprop {String} --marker-border-radius - The border radius (always `50%` by default).
 * @cssprop {String} --marker-border-width - The border width.
 * @cssprop {String} --marker-border-style - The border style.
 * @cssprop {String} --marker-font-family - The font family for the marker label.
 * @cssprop {String} --marker-font-size - The font size for the marker label.
 * @cssprop {String} --marker-font-weight - The font weight for the marker label.
 * @cssprop {String} --marker-font-line-height - The line height for the marker label.
 * @cssprop {String} --marker-font-letter-spacing - The letter spacing for the marker label.
 * @cssprop {String} --marker-height - The height of the marker.
 * @cssprop {String} --marker-gap - The gap inside the marker.
 * @cssprop {String} --marker-padding-top - The top padding inside the marker.
 * @cssprop {String} --marker-padding-right - The right padding inside the marker.
 * @cssprop {String} --marker-padding-bottom - The bottom padding inside the marker.
 * @cssprop {String} --marker-padding-left - The left padding inside the marker.
 * @cssprop {String} --marker-transition-duration - The transition duration.
 * @cssprop {String} --marker-transition-mode - The transition timing function.
 * @cssprop {String} --marker-transition-property - The transition properties.
 *
 * @example
 * Ordered marker (number):
 * ```html
 * <mosaik-marker type="ordered" index="1"></mosaik-marker>
 * ```
 *
 * @example
 * Unordered marker (bullet):
 * ```html
 * <mosaik-marker type="unordered" bullet-type="disc"></mosaik-marker>
 * ```
 *
 * @example
 * Styled marker with variant:
 * ```html
 * <mosaik-marker type="ordered" index="3" variant="primary" appearance="solid"></mosaik-marker>
 * ```
 *
 * @public
 */
export declare class MarkerElement extends MarkerElement_base implements IMarkerElementProps {
    private _type;
    private _numberingType;
    private _bulletType;
    private _index;
    constructor();
    static get is(): string;
    /**
     * Gets or sets the type of listing this marker represents.
     * The default value is `'unordered'`.
     *
     * @public
     * @attr
     */
    get type(): ListType;
    set type(value: ListType);
    /**
     * Gets or sets the numbering type used when `type` is `'ordered'`.
     * The default value is `'1'` (decimal).
     *
     * @public
     * @attr numbering-type
     */
    get numberingType(): ListNumberingType;
    set numberingType(value: ListNumberingType);
    /**
     * Gets or sets the bullet type used when `type` is `'unordered'`.
     * The default value is `'disc'`.
     *
     * @public
     * @attr bullet-type
     */
    get bulletType(): ListBulletType;
    set bulletType(value: ListBulletType);
    /**
     * Gets or sets the ordinal index (1-based) of the marker.
     * Only relevant when `type` is `'ordered'`.
     * The default value is `1`.
     *
     * @public
     * @attr
     */
    get index(): number;
    set index(value: number);
    /**
     * Converts a 1-based number to an alphabetical representation.
     *
     * @param value - The 1-based ordinal value.
     * @param upper - Whether to return uppercase letters.
     * @returns The alphabetical representation.
     */
    private toAlpha;
    /**
     * Converts a number to a Roman numeral representation.
     *
     * @param value - The ordinal value.
     * @param upper - Whether to return uppercase Roman numerals.
     * @returns The Roman numeral representation.
     */
    private toRoman;
}
export declare namespace MarkerElement {
    type Props = IMarkerElementProps;
}
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-marker': MarkerElement;
    }
}
export {};
//# sourceMappingURL=MarkerElement.d.ts.map