import * as i0 from '@angular/core';
import { AfterContentInit } from '@angular/core';
import * as i1 from '@eui/components/shared';
import { BaseStatesDirective } from '@eui/components/shared';

/**
 * @description
 * A timeline component that displays a vertical list of events or activities in chronological order.
 * Can be configured to align items on the left side instead of centered.
 */
declare class EuiTimelineComponent {
    /**
     * @description
     * Computes and returns the CSS classes for the timeline component
     *
     * @returns {string} Space-separated string of CSS class names
     */
    get cssClasses(): string;
    /**
     * @description Data attribute for e2e testing
     * @default 'eui-timeline'
     */
    e2eAttr: string;
    /**
     * @description
     * When true, aligns timeline items to the left side instead of center
     * @default false
     */
    isLeftAligned: boolean;
    /**
     * @description
     * Combines CSS classes based on the component's current state
     *
     * @private
     * @returns {string} Space-separated string of CSS class names
     */
    private getCssClasses;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiTimelineComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiTimelineComponent, "eui-timeline", never, { "e2eAttr": { "alias": "e2eAttr"; "required": false; }; "isLeftAligned": { "alias": "isLeftAligned"; "required": false; }; }, {}, never, ["*"], true, never>;
    static ngAcceptInputType_isLeftAligned: unknown;
}

/**
 * @description
 * A timeline item component that represents a single event or activity within a timeline.
 * Can display labels, dates, times, and custom content with various visual states.
 */
declare class EuiTimelineItemComponent implements AfterContentInit {
    /**
     * @description
     * Computes and returns the CSS classes for the timeline item
     *
     * @returns {string} Space-separated string of CSS class names
     */
    get cssClasses(): string;
    /**
     * @description Data attribute for e2e testing
     * @default 'eui-timeline-item'
     */
    e2eAttr: string;
    /**
     * @description Primary text content of the timeline item
     */
    label: string;
    /**
     * @description Secondary text content displayed below the label
     */
    subLabel: string;
    /**
     * @description Date to display for the timeline item
     */
    date: string;
    /**
     * @description Additional CSS class to apply to the date element
     * @default ''
     */
    dateStyleClass: string;
    /**
     * @description Time to display for the timeline item
     */
    time: string;
    /**
     * @description Additional CSS class to apply to the time element
     * @default ''
     */
    timeStyleClass: string;
    /**
     * @description Controls the alignment of content within the timeline item
     * Inherited from parent timeline component
     */
    isLeftAligned: boolean;
    /**
     * @description Indicates if this item represents a group of events
     * Changes the visual appearance accordingly
     */
    isGroup: boolean;
    /**
     * @description Instance of BaseStatesDirective for managing component states
     */
    baseStatesDirective: BaseStatesDirective;
    /**
     * @description Reference to parent timeline component for alignment inheritance
     */
    timelineComponent: EuiTimelineComponent;
    /**
     * @description
     * After content initialization, inherits left alignment from parent timeline component
     */
    ngAfterContentInit(): void;
    /**
     * @description
     * Combines CSS classes based on the component's current state and group status
     *
     * @private
     * @returns {string} Space-separated string of CSS class names
     */
    private getCssClasses;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiTimelineItemComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiTimelineItemComponent, "eui-timeline-item", never, { "e2eAttr": { "alias": "e2eAttr"; "required": false; }; "label": { "alias": "label"; "required": false; }; "subLabel": { "alias": "subLabel"; "required": false; }; "date": { "alias": "date"; "required": false; }; "dateStyleClass": { "alias": "dateStyleClass"; "required": false; }; "time": { "alias": "time"; "required": false; }; "timeStyleClass": { "alias": "timeStyleClass"; "required": false; }; "isLeftAligned": { "alias": "isLeftAligned"; "required": false; }; "isGroup": { "alias": "isGroup"; "required": false; }; }, {}, never, ["*"], true, [{ directive: typeof i1.BaseStatesDirective; inputs: { "euiSecondary": "euiSecondary"; "euiPrimary": "euiPrimary"; "euiSuccess": "euiSuccess"; "euiInfo": "euiInfo"; "euiWarning": "euiWarning"; "euiDanger": "euiDanger"; "euiVariant": "euiVariant"; }; outputs: {}; }]>;
    static ngAcceptInputType_isLeftAligned: unknown;
    static ngAcceptInputType_isGroup: unknown;
}

declare const EUI_TIMELINE: readonly [typeof EuiTimelineComponent, typeof EuiTimelineItemComponent];

export { EUI_TIMELINE, EuiTimelineComponent, EuiTimelineItemComponent };
//# sourceMappingURL=eui-components-eui-timeline.d.ts.map
