/**
* @license
* Copyright 2023 Nuraly, Laabidi Aymen
* SPDX-License-Identifier: MIT
*/
import { LitElement, nothing, TemplateResult } from 'lit';
import { TimelineMode, TimelineItem } from './timeline.types.js';
declare const NrTimelineElement_base: (new (...args: any[]) => import("@nuralyui/common/mixins").DependencyAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").ThemeAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").EventHandlerCapable) & (new (...args: any[]) => import("packages/common/src/shared/base-mixin.js").LightDomContent) & typeof LitElement;
/**
* # Timeline Component
*
* Vertical display timeline for showing a series of events in chronological order.
*
* ## Features
* - Multiple display modes (left, right, alternate)
* - Custom dot colors and icons
* - Label support for timestamps
* - Pending state for ongoing activities
* - Reverse order option
* - Custom positioning in alternate mode
* - Theme-aware styling
*
* ## Usage
* ```html
*
*
*
*
*
*
*
*
*
*
*
* ```
*
* @element nr-timeline
*
* @csspart list - The root ul element containing all timeline items
* @csspart item - Each li element representing a single timeline event
* @csspart tail - The vertical connecting line below each item dot
* @csspart dot - The colored dot indicator for each item (when no custom icon)
* @csspart dot-custom - The custom icon wrapper for items with a custom dot icon
* @csspart content - The text content area of each timeline item
* @csspart label - The timestamp/label text of a timeline item
*/
export declare class NrTimelineElement extends NrTimelineElement_base {
static styles: import("lit").CSSResult;
static useShadowDom: boolean;
requiredComponents: string[];
/**
* Timeline display mode
*/
mode: TimelineMode;
/**
* Timeline items array
*/
items: TimelineItem[];
/**
* Pending state - shows a pending item at the end
*/
pending?: string;
/**
* Custom pending dot icon
*/
pendingDot?: string;
/**
* Reverse timeline order
*/
reverse: boolean;
/**
* Get item position for alternate mode
*/
private getItemPosition;
/**
* Check if color is a preset color
*/
private isPresetColor;
/**
* Get custom color style for dot
*/
private getCustomColorStyle;
/**
* Render timeline item dot
*/
private renderDot;
/**
* Render timeline item
*/
private renderItem;
/**
* Render pending item
*/
private renderPendingItem;
render(): typeof nothing | TemplateResult<1>;
}
declare global {
interface HTMLElementTagNameMap {
'nr-timeline': NrTimelineElement;
}
}
export {};
//# sourceMappingURL=timeline.component.d.ts.map