import { BooleanInput } from '@angular/cdk/coercion';
import * as i0 from '@angular/core';

/**
 * @description
 * Component for displaying individual items within a discussion thread.
 * This component represents a single entry in a conversation or thread timeline,
 * displaying information such as the author, date, content body, and optional tooltip.
 *
 * The component applies the ARIA role 'listitem' to maintain proper accessibility
 * and includes support for styling variants through the typeClass property.
 */
declare class EuiDiscussionThreadItemComponent {
    /**
     * Sets CSS classes on the host element based on the typeClass property.
     * This helps maintain consistent styling with the parent theme variant.
     * @returns {string} The CSS class to be applied
     */
    get cssClasses(): string;
    /**
     * ARIA role for the host element to ensure proper accessibility.
     * @default 'listitem'
     */
    role: string;
    /**
     * Unique identifier for the discussion thread item.
     */
    id: string;
    /**
     * Type class defining the visual style of the item (e.g., 'info', 'warning', 'error').
     * This affects the color scheme applied to the item.
     */
    typeClass: string;
    /**
     * Date when the thread item was created or modified.
     */
    date: string;
    /**
     * Name or identifier of the author who created the item.
     */
    author: string;
    /**
     * Content body of the discussion thread item.
     */
    body: string;
    /**
     * Tooltip text to display additional information when hovering over the item.
     */
    tooltip: string;
    /**
     * Indicates if this item is in an odd position in the list.
     * Used for alternating styling patterns within the thread.
     */
    get isOdd(): boolean;
    set isOdd(value: BooleanInput);
    private _isOdd;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiDiscussionThreadItemComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiDiscussionThreadItemComponent, "eui-discussion-thread-item", never, { "id": { "alias": "id"; "required": false; }; "typeClass": { "alias": "typeClass"; "required": false; }; "date": { "alias": "date"; "required": false; }; "author": { "alias": "author"; "required": false; }; "body": { "alias": "body"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "isOdd": { "alias": "isOdd"; "required": false; }; }, {}, never, never, true, never>;
}

/**
 * @description
 * Interface defining the structure of an item within a discussion thread.
 *
 * This interface encapsulates all the necessary properties to display
 * a single message or entry, including metadata like author, date,
 * and styling information.
 *
 * @see EuiDiscussionThreadComponent
 * @see EuiDiscussionThreadItemComponent
 */
interface EuiDiscussionThreadItem {
    /**
     * Unique identifier for the discussion thread item.
     * Used for tracking and reference purposes.
     */
    id: string;
    /**
     * CSS class identifier that defines the visual style of the item.
     * Common values include 'info', 'warning', 'error', etc.
     */
    typeClass: string;
    /**
     * Date when the thread item was created or modified.
     * Typically formatted as an ISO string or similar date format.
     */
    date: string;
    /**
     * Name or identifier of the author who created the item.
     */
    author: string;
    /**
     * Content body of the discussion thread item.
     * Contains the main message or comment text.
     */
    body: string;
    /**
     * Optional tooltip text to display additional information
     * when hovering over the item.
     */
    tooltip?: string;
}

/**
 * @description
 * Component for displaying a discussion thread or conversation timeline.
 * This component renders a list of discussion thread items in a structured format,
 * with support for titles, subtitles, and tooltips for additional context.
 *
 * The component applies the ARIA role 'list' to the host element to maintain proper
 * accessibility for screen readers.
 *
 */
declare class EuiDiscussionThreadComponent {
    /**
     * Gets the CSS classes to apply to the host element.
     *
     * @returns {string} The CSS classes as a space-separated string.
     */
    get cssClasses(): string;
    /**
     * ARIA role for the host element to ensure proper accessibility.
     * @default 'list'
     */
    get checkRole(): string;
    /**
     * Array of discussion thread items to be displayed.
     * Each item should conform to the EuiDiscussionThreadItem interface.
     */
    items: EuiDiscussionThreadItem[];
    /**
     * The main title label for the discussion thread.
     */
    titleLabel: string;
    /**
     * The subtitle label for the discussion thread, typically used to provide
     * additional context or categorization.
     */
    subTitleLabel: string;
    /**
     * Tooltip text to display when hovering over the discussion thread.
     */
    tooltip: string;
    private discussionThreadItems;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiDiscussionThreadComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiDiscussionThreadComponent, "eui-discussion-thread", never, { "items": { "alias": "items"; "required": false; }; "titleLabel": { "alias": "titleLabel"; "required": false; }; "subTitleLabel": { "alias": "subTitleLabel"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; }, {}, ["discussionThreadItems"], ["*"], true, never>;
}

declare const EUI_DISCUSSION_THREAD: readonly [typeof EuiDiscussionThreadComponent, typeof EuiDiscussionThreadItemComponent];

export { EUI_DISCUSSION_THREAD, EuiDiscussionThreadComponent, EuiDiscussionThreadItemComponent };
export type { EuiDiscussionThreadItem };
//# sourceMappingURL=eui-components-eui-discussion-thread.d.ts.map
