/**
 * Timeline type definitions
 * @countermeasure/web-components/visualization/timeline
 */
export interface TimelineEvent {
    /** Stable identifier. */
    id: string;
    /** Timestamp — accepts a `Date` or ISO-8601 string. */
    timestamp: Date | string;
    /** Event title shown next to the dot. */
    title: string;
    /** Optional event description rendered beneath the title. */
    description?: string;
    /** Inline SVG/HTML icon rendered inside the dot. */
    icon?: string;
    /** CSS colour applied to the dot — overrides the default theme colour. */
    color?: string;
    /** Free-form metadata tag map. */
    metadata?: Record<string, string>;
}
export interface TimelineConfig {
    /** Container element (or selector) the timeline is mounted into. */
    container: HTMLElement | string;
    /** Events rendered in chronological order. */
    events: TimelineEvent[];
    /**
     * Layout orientation.
     * @default 'vertical'
     */
    orientation?: 'vertical' | 'horizontal';
    /**
     * Show timestamps next to each event.
     * @default true
     */
    showTimestamps?: boolean;
    /** Custom date formatter for timestamps. */
    dateFormat?: (date: Date) => string;
    /** Fired when an event is clicked. */
    onEventClick?: (event: TimelineEvent) => void;
    /** Additional CSS class names. */
    className?: string;
    /**
     * Group events under date headings.
     * @default false
     */
    groupByDate?: boolean;
}
//# sourceMappingURL=types.d.ts.map