import { CalendarMarkerData } from '../../../Types/CalendarMarkerHandler';
import { CustomElement } from '../../Abstracts/CustomElement';
import type { ICalendarItemElementProps } from './ICalendarItemElementProps';
declare const CalendarItemElement_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/Disableable").IDisableableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Valueable").IValueableProps<unknown>) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Focusable").IFocusableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * Calendar Item - An individual day, month, or year cell within a calendar date picker.
 *
 * @description
 * The Calendar Item component represents a single selectable date unit in calendar interfaces.
 * It supports various states including selected, today, weekend, adjacent month, blackout dates,
 * special dates, and range selections. The component includes visual markers for events or
 * important dates, ripple effects for interaction feedback, and comprehensive accessibility
 * features. It can display range states (start, middle, end) and preview states for hover
 * interactions. The component is highly versatile and used across day, month, and year views.
 *
 * @name Calendar Item
 * @element mosaik-calendar-item
 * @category Inputs
 *
 * @csspart focusRing - The keyboard focus indicator ring
 * @csspart ripple - The touch feedback ripple effect container
 * @csspart text - The text display area showing the day/month/year number or label
 * @csspart marker - Individual event or date marker dots
 *
 * @cssprop {String} --calendar-item-background-color - The background color of the calendar cell
 * @cssprop {String} --calendar-item-foreground-color - The text color
 * @cssprop {String} --calendar-item-border-color - The border color
 * @cssprop {String} --calendar-item-border-width - The border thickness
 * @cssprop {String} --calendar-item-border-style - The border line style
 * @cssprop {String} --calendar-item-border-radius - The corner rounding radius
 * @cssprop {String} --calendar-item-font-family - The font family for date text
 * @cssprop {String} --calendar-item-font-size - The font size for date text
 * @cssprop {String} --calendar-item-font-weight - The font weight for date text
 * @cssprop {String} --calendar-item-font-line-height - The line height for date text
 * @cssprop {String} --calendar-item-font-letter-spacing - The letter spacing for date text
 * @cssprop {String} --calendar-item-font-text-decoration - The text decoration style
 * @cssprop {String} --calendar-item-font-text-transform - The text transformation style
 * @cssprop {String} --calendar-item-padding-top - The top padding inside the cell
 * @cssprop {String} --calendar-item-padding-right - The right padding inside the cell
 * @cssprop {String} --calendar-item-padding-bottom - The bottom padding inside the cell
 * @cssprop {String} --calendar-item-padding-left - The left padding inside the cell
 * @cssprop {String} --calendar-item-gap - The spacing between text and markers
 * @cssprop {String} --calendar-item-transition-duration - The duration of state transitions
 * @cssprop {String} --calendar-item-transition-mode - The timing function for transitions
 * @cssprop {String} --calendar-item-transition-property - The CSS properties to transition
 * @cssprop {String} --calendar-item-focus-ring-color - The focus ring color (from focusRing mixin)
 * @cssprop {String} --calendar-item-focus-ring-inward-offset - The focus ring inward offset (from focusRing mixin)
 * @cssprop {String} --calendar-item-focus-ring-outward-offset - The focus ring outward offset (from focusRing mixin)
 * @cssprop {String} --calendar-item-focus-ring-active-width - The focus ring width when active (from focusRing mixin)
 * @cssprop {String} --calendar-item-ripple-color - The ripple effect color (from ripple mixin)
 * @cssprop {String} --calendar-item-ripple-duration - The ripple animation duration (from ripple mixin)
 *
 * @dependency {TextElement} - Text rendering component for day/month/year labels
 * @dependency {FocusRingElement} - Keyboard focus indicator component
 * @dependency {RippleElement} - Touch feedback effect component
 * @dependency {DotElement} - Event marker indicator component
 * @dependency {StackElement} - Layout container for organizing markers
 *
 * @fires click {MouseEvent} - Fired when the calendar item is clicked (prevented when disabled or blackout)
 *
 * @example
 * Basic calendar day item:
 * ```html
 * <mosaik-calendar-item text="15" value="2024-01-15"></mosaik-calendar-item>
 * ```
 *
 * @example
 * Selected item with today marker:
 * ```html
 * <mosaik-calendar-item text="15"
 *                       value="2024-01-15"
 *                       is-selected
 *                       is-today
 *                       variant="primary"></mosaik-calendar-item>
 * ```
 *
 * @example
 * Weekend item with event markers:
 * ```html
 * <mosaik-calendar-item text="20"
 *                       value="2024-01-20"
 *                       is-weekend
 *                       .markers="${[
 *                         { variant: 'primary', size: 'tiny' },
 *                         { variant: 'success', size: 'tiny' }
 *                       ]}"></mosaik-calendar-item>
 * ```
 *
 * @example
 * Blackout date (disabled):
 * ```html
 * <mosaik-calendar-item text="25"
 *                       value="2024-01-25"
 *                       is-blackout
 *                       disabled></mosaik-calendar-item>
 * ```
 *
 * @example
 * Range selection:
 * ```html
 * <mosaik-calendar-item text="10" value="2024-01-10" is-range-start></mosaik-calendar-item>
 * <mosaik-calendar-item text="11" value="2024-01-11" is-range-middle></mosaik-calendar-item>
 * <mosaik-calendar-item text="12" value="2024-01-12" is-range-end></mosaik-calendar-item>
 * ```
 *
 * @public
 */
export declare class CalendarItemElement extends CalendarItemElement_base implements ICalendarItemElementProps {
    private _text;
    private _value;
    private _isSelected;
    private _isBlackout;
    private _isSpecial;
    private _isToday;
    private _isWeekend;
    private _isAdjacent;
    private _markers;
    private _isRangeStart;
    private _isRangeMiddle;
    private _isRangeEnd;
    private _isRangePreview;
    /**
     * @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 `text` property.
     *
     * @public
     * @attr
     */
    get text(): string;
    set text(value: string);
    /**
     * Gets or sets the `value` property.
     *
     * @public
     * @override
     */
    get value(): Date | null;
    set value(value: Date | null);
    /**
     * Gets or sets the `isSelected` property.
     *
     * @public
     * @attr
     */
    get isSelected(): boolean;
    set isSelected(value: boolean);
    /**
     * Gets or sets the `isBlackout` property.
     *
     * @public
     * @attr
     */
    get isBlackout(): boolean;
    set isBlackout(value: boolean);
    /**
     * Gets or sets the `isSpecial` property.
     *
     * @public
     * @attr
     */
    get isSpecial(): boolean;
    set isSpecial(value: boolean);
    /**
     * Gets or sets the `isToday` property.
     *
     * @public
     * @attr
     */
    get isToday(): boolean;
    set isToday(value: boolean);
    /**
     * Gets or sets the `isWeekend` property.
     *
     * @public
     * @attr
     */
    get isWeekend(): boolean;
    set isWeekend(value: boolean);
    /**
     * Gets or sets the `isAdjacent` property.
     *
     * @public
     * @attr
     */
    get isAdjacent(): boolean;
    set isAdjacent(value: boolean);
    /**
     * Gets or sets the `markers` property.
     *
     * @public
     */
    get markers(): Array<CalendarMarkerData>;
    set markers(value: Array<CalendarMarkerData>);
    /**
     * Gets or sets the `isRangeStart` property.
     *
     * @public
     * @attr
     */
    get isRangeStart(): boolean;
    set isRangeStart(value: boolean);
    /**
     * Gets or sets the `isRangeMiddle` property.
     *
     * @public
     * @attr
     */
    get isRangeMiddle(): boolean;
    set isRangeMiddle(value: boolean);
    /**
     * Gets or sets the `isRangeEnd` property.
     *
     * @public
     * @attr
     */
    get isRangeEnd(): boolean;
    set isRangeEnd(value: boolean);
    /**
     * Gets or sets the `isRangePreview` property.
     *
     * @public
     * @attr
     */
    get isRangePreview(): boolean;
    set isRangePreview(value: boolean);
    protected onClick(event: Event): void;
}
/**
 * @public
 */
export declare namespace CalendarItemElement {
    type Props = ICalendarItemElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-calendar-item': CalendarItemElement;
    }
}
export {};
//# sourceMappingURL=CalendarItemElement.d.ts.map