import * as i0 from '@angular/core';
import { AfterViewInit, TemplateRef, OnChanges, SimpleChanges, OnInit, OnDestroy, EventEmitter, QueryList, ElementRef } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import * as i1 from '@eui/components/shared';
import { BaseStatesDirective } from '@eui/components/shared';
import { TemplatePortal } from '@angular/cdk/portal';

/**
 * @description
 * Custom header content component for individual tabs within eui-tabs.
 * Allows projection of custom content into the tab header area using CDK Portal.
 * Enables rich tab headers with icons, badges, or custom layouts beyond simple text labels.
 * Must be used as a child of eui-tab component to provide custom header content.
 *
 * @usageNotes
 * ### Basic Usage
 * ```html
 * <eui-tab>
 *   <eui-tab-header>
 *     <eui-tab-header-label>Settings</eui-tab-header-label>
 *   </eui-tab-header>
 *   <eui-tab-body>Content</eui-tab-body>
 * </eui-tab>
 * ```
 *
 * ### With Icons and Badges
 * ```html
 * <eui-tab>
 *   <eui-tab-header>
 *     <eui-tab-header-left-content>
 *       <eui-icon-svg icon="eui-notification" size="s" />
 *     </eui-tab-header-left-content>
 *     <eui-tab-header-label>Notifications</eui-tab-header-label>
 *     <eui-tab-header-sub-label>Unread messages</eui-tab-header-sub-label>
 *     <eui-tab-header-right-content>
 *       <eui-badge euiDanger>5</eui-badge>
 *     </eui-tab-header-right-content>
 *   </eui-tab-header>
 *   <eui-tab-body>Content</eui-tab-body>
 * </eui-tab>
 * ```
 *
 * ### Complex Layout
 * ```html
 * <eui-tab>
 *   <eui-tab-header>
 *     <eui-tab-header-left-content>
 *       <eui-avatar [imageUrl]="user.avatar" euiSizeXs />
 *     </eui-tab-header-left-content>
 *     <div>
 *       <eui-tab-header-label>{{ user.name }}</eui-tab-header-label>
 *       <eui-tab-header-sub-label>{{ user.role }}</eui-tab-header-sub-label>
 *     </div>
 *   </eui-tab-header>
 *   <eui-tab-body>Content</eui-tab-body>
 * </eui-tab>
 * ```
 *
 * ### Accessibility
 * - Header content contributes to tab's accessible name
 * - Icons should have appropriate aria-labels
 * - Badges should convey meaningful information
 * - Maintain logical reading order for screen readers
 *
 * ### Notes
 * - Uses CDK Portal for efficient rendering
 * - Supports structured content via sub-components
 * - Left/right content areas for flexible layouts
 * - Label and sub-label for hierarchical text
 * - Replaces simple label attribute when used
 */
declare class EuiTabHeaderComponent implements AfterViewInit {
    templateRef: TemplateRef<HTMLElement>;
    templatePortal: TemplatePortal;
    private viewContainerRef;
    ngAfterViewInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiTabHeaderComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiTabHeaderComponent, "eui-tab-header", never, {}, {}, never, ["eui-tab-header-left-content", "eui-tab-header-label", "eui-tab-header-sub-label", "*", "eui-tab-header-right-content"], true, never>;
}

/**
 * @description
 * Content container component for individual tab panels within eui-tabs.
 * Manages the display of tab content using CDK Portal for efficient rendering.
 * Provides optional padding control for custom content layouts.
 * Automatically handles content visibility based on active tab selection.
 * Must be used as a child of eui-tab component to define the tab's content area.
 *
 * @usageNotes
 * ### Basic Usage
 * ```html
 * <eui-tab label="Content">
 *   <eui-tab-body>
 *     <h2>Tab Content</h2>
 *     <p>Your content here</p>
 *   </eui-tab-body>
 * </eui-tab>
 * ```
 *
 * ### Without Padding
 * ```html
 * <eui-tab label="Full Width">
 *   <eui-tab-body [hasNoContentPadding]="true">
 *     <div class="custom-layout">
 *       Full-width content without default padding
 *     </div>
 *   </eui-tab-body>
 * </eui-tab>
 * ```
 *
 * ### With Complex Content
 * ```html
 * <eui-tab label="Dashboard">
 *   <eui-tab-body>
 *     <eui-card>
 *       <eui-card-header>Statistics</eui-card-header>
 *       <eui-card-body>
 *         <!-- Dashboard widgets -->
 *       </eui-card-body>
 *     </eui-card>
 *   </eui-tab-body>
 * </eui-tab>
 * ```
 *
 * ### Accessibility
 * - Content has role="tabpanel" automatically applied
 * - Tabindex managed automatically for keyboard navigation
 * - Hidden content not rendered in DOM for performance
 * - Focus management for interactive elements within panel
 *
 * ### Notes
 * - Uses CDK Portal for efficient content rendering
 * - Only active tab content is displayed
 * - hasNoContentPadding useful for full-width layouts
 * - Supports any HTML content or Angular components
 * - Automatic focus management for nested interactive elements
 */
declare class EuiTabBodyComponent implements AfterViewInit {
    /**
     * Removes default padding from the tab content area.
     * Useful for full-width content, custom layouts, or when content provides its own spacing.
     * @default false
     */
    hasNoContentPadding: boolean;
    templateRef: TemplateRef<HTMLElement>;
    templatePortal: TemplatePortal;
    tabIndex$: BehaviorSubject<number>;
    private viewContainerRef;
    ngAfterViewInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiTabBodyComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiTabBodyComponent, "eui-tab-body", never, { "hasNoContentPadding": { "alias": "hasNoContentPadding"; "required": false; }; }, {}, never, ["*"], true, never>;
    static ngAcceptInputType_hasNoContentPadding: unknown;
}

/**
 * @description
 * Individual tab component representing a single tab within eui-tabs navigation.
 * Manages tab state including active, disabled, visible, and closable states.
 * Supports custom header and body content through content projection.
 * Integrates with BaseStatesDirective for theming variants (primary, secondary, success, warning, danger).
 * Must be used as a direct child of eui-tabs component to participate in tab navigation.
 *
 * @usageNotes
 * ### Basic Usage
 * ```html
 * <eui-tabs>
 *   <eui-tab label="Overview">
 *     <eui-tab-body>
 *       <p>Overview content</p>
 *     </eui-tab-body>
 *   </eui-tab>
 *
 *   <eui-tab label="Details" [isDisabled]="true">
 *     <eui-tab-body>
 *       <p>Details content</p>
 *     </eui-tab-body>
 *   </eui-tab>
 * </eui-tabs>
 * ```
 *
 * ### With Custom Header
 * ```html
 * <eui-tab [isClosable]="true" euiPrimary>
 *   <eui-tab-header>
 *     <eui-tab-header-left-content>
 *       <eui-icon-svg icon="eui-home" size="s" />
 *     </eui-tab-header-left-content>
 *     <eui-tab-header-label>Home</eui-tab-header-label>
 *     <eui-tab-header-right-content>
 *       <eui-badge euiInfo>3</eui-badge>
 *     </eui-tab-header-right-content>
 *   </eui-tab-header>
 *   <eui-tab-body>Content</eui-tab-body>
 * </eui-tab>
 * ```
 *
 * ### Accessibility
 * - Tab has role="tab" automatically applied
 * - Associated panel has role="tabpanel"
 * - Disabled state prevents keyboard and mouse interaction
 * - Tooltip provides additional context on hover
 *
 * ### Notes
 * - Use isClosable for dismissible tabs
 * - isVisible controls display without removing from DOM
 * - Color variants via BaseStatesDirective (euiPrimary, euiSuccess, etc.)
 * - Custom handlers via isHandleCloseOnClose and isHandleActivateTab
 * - URL property enables deep linking and routing integration
 */
declare class EuiTabComponent implements OnChanges {
    /**
     * Unique identifier for the tab.
     * Used for programmatic tab selection and tracking.
     * Required for proper tab management and routing.
     */
    id: string;
    /**
     * URL or route path associated with the tab.
     * Enables deep linking and browser history integration for tab navigation.
     */
    url: string;
    /**
     * Data attribute used for end-to-end testing identification.
     * @default 'eui-tab'
     */
    e2eAttr: string;
    /**
     * Tooltip text displayed when hovering over the tab header.
     * Provides additional context or information about the tab content.
     */
    tooltip: string;
    /**
     * Enables a close button on the tab header for dismissible tabs.
     * Allows users to remove or hide the tab from the tab bar.
     * @default false
     */
    isClosable: boolean;
    /**
     * Disables the tab, preventing user interaction and selection.
     * Applies disabled styling and blocks tab activation.
     * @default false
     */
    isDisabled: boolean;
    /**
     * Controls the visibility of the tab in the tab bar.
     * When false, hides the tab from display without removing it from the DOM.
     * @default true
     */
    isVisible: boolean;
    /**
     * Enables automatic tab closure when the close button is clicked.
     * When false, close button click must be handled externally.
     * @default false
     */
    isHandleCloseOnClose: boolean;
    /**
     * Enables automatic tab activation when the tab is clicked.
     * When false, tab activation must be handled externally.
     * @default false
     */
    isHandleActivateTab: boolean;
    templateHeader: EuiTabHeaderComponent;
    templateBody: EuiTabBodyComponent;
    isActive: boolean;
    isVisible$: BehaviorSubject<boolean>;
    isClosable$: BehaviorSubject<boolean>;
    isDisabled$: BehaviorSubject<boolean>;
    baseStatesDirective: BaseStatesDirective;
    ngOnChanges(c: SimpleChanges): void;
    activateTab(): void;
    deactivateTab(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiTabComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiTabComponent, "eui-tab", never, { "id": { "alias": "id"; "required": false; }; "url": { "alias": "url"; "required": false; }; "e2eAttr": { "alias": "e2eAttr"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "isClosable": { "alias": "isClosable"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "isVisible": { "alias": "isVisible"; "required": false; }; "isHandleCloseOnClose": { "alias": "isHandleCloseOnClose"; "required": false; }; "isHandleActivateTab": { "alias": "isHandleActivateTab"; "required": false; }; }, {}, ["templateHeader", "templateBody"], ["*"], true, [{ directive: typeof i1.BaseStatesDirective; inputs: { "euiPrimary": "euiPrimary"; "euiSecondary": "euiSecondary"; "euiInfo": "euiInfo"; "euiSuccess": "euiSuccess"; "euiWarning": "euiWarning"; "euiDanger": "euiDanger"; "euiVariant": "euiVariant"; }; outputs: {}; }]>;
    static ngAcceptInputType_isClosable: unknown;
    static ngAcceptInputType_isDisabled: unknown;
    static ngAcceptInputType_isVisible: unknown;
    static ngAcceptInputType_isHandleCloseOnClose: unknown;
    static ngAcceptInputType_isHandleActivateTab: unknown;
}

/**
 * @description
 * eUI Tabs component helps to organize content into separate views where only one view can be visible at a time.
 * Each tab's label is shown in the tab header and the active tab is designated with a primary ink bar visual.
 * The active tab may be set using the `activeTabIndex` input option or when the user selects one of the tab labels in the header.
 * When the list of tab labels exceeds the width of the header or its container, pagination controls appear to let the user scroll left and right across the tabs.
 *
 * @usageNotes
 * ### Basic Usage
 * ```html
 * <eui-tabs [activeTabIndex]="0" (activeTabChange)="onTabChange($event)">
 *   <eui-tab label="Overview">
 *     <eui-tab-body>
 *       <p>Overview content here</p>
 *     </eui-tab-body>
 *   </eui-tab>
 *   <eui-tab label="Details">
 *     <eui-tab-body>
 *       <p>Details content here</p>
 *     </eui-tab-body>
 *   </eui-tab>
 * </eui-tabs>
 * ```
 *
 * ### With Custom Headers
 * ```html
 * <eui-tabs>
 *   <eui-tab>
 *     <eui-tab-header>
 *       <eui-tab-header-left-content>
 *         <eui-icon svgName="home" />
 *       </eui-tab-header-left-content>
 *       <eui-tab-header-label>Home</eui-tab-header-label>
 *     </eui-tab-header>
 *     <eui-tab-body>Content</eui-tab-body>
 *   </eui-tab>
 * </eui-tabs>
 * ```
 *
 * ### Accessibility
 * - Use role="tablist" on container (automatically applied)
 * - Each tab has role="tab" and associated panel has role="tabpanel"
 * - Keyboard navigation: Arrow keys to switch tabs, Tab to move focus
 * - Provide meaningful aria-label for the tabs component
 *
 * ### Notes
 * - Only one tab content is visible at a time
 * - Pagination controls appear automatically when tabs overflow
 * - Use isMainNavigation="true" for primary navigation styling
 * - Use isFlat="true" for flat visual style without elevation
 */
declare class EuiTabsComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {
    get elementClass(): string;
    e2eAttr: string;
    /**
     * Index of the active tab
     *
     * @default 0
     */
    activeTabIndex: number;
    /**
     * Sets the `aria-label` attribute for the host element.
     *
     * @default 'eUI Tabs'
     */
    ariaLabel: string;
    isMainNavigation: boolean;
    isFlat: boolean;
    /**
     * Event emitted when a tab is closed
     */
    tabClose: EventEmitter<{
        tab: EuiTabComponent;
        index: number;
    }>;
    /**
     * Event emitted when a tab is activated
     */
    tabActivate: EventEmitter<{
        tab: EuiTabComponent;
        index: number;
    }>;
    /**
     * Event emitted when a tab is clicked
     */
    tabClick: EventEmitter<{
        tab: EuiTabComponent;
        index: number;
    }>;
    _tabs: QueryList<EuiTabComponent>;
    euiTabsHeadersContainer: ElementRef;
    euiTabsHeaders: ElementRef;
    euiTabsRightContent: ElementRef;
    euiTabListItems: QueryList<ElementRef>;
    tabs: EuiTabComponent[];
    scrolling: boolean;
    navigationLeftButtonDisabled: boolean;
    navigationRightButtonDisabled: boolean;
    currentOffset: number;
    protected tabId: string;
    private destroy$;
    private platformId;
    private player;
    private stepMove;
    private scrollOffset;
    private scrollingCount;
    private cd;
    private builder;
    private euiAppShellService;
    private document;
    /**
     * Width of the tabs headers container
     */
    get euiTabsHeadersContainerWidth(): number;
    /**
     * Width of the tabs headers
     */
    get euiTabsHeadersWidth(): number;
    /**
     * Width of the tabs right content
     */
    get euiTabsRightContentWidth(): number;
    ngOnChanges(c: SimpleChanges): void;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    /**
     * Activate a tab having index passed in parameter if exists.
     *
     * @param index Index of the tab to close
     * @param isAnimated Whether the tab activation should be animated
     * @param options Object with emitEvent property to emit the event or not
     */
    activateTab(index: number, isAnimated?: boolean, options?: {
        emitEvent: boolean;
    }): void;
    /**
     * Close a tab having index passed in parameter if exists.
         * @param index Index of the tab to close
     */
    closeTab(index: number): void;
    /**
     * Scroll to the left handler
     */
    goToLeft(): void;
    /**
     * Scroll to the rihgt handler
     */
    goToRight(): void;
    /**
     * Actions applied upon a keydown event
     *
     * @param i Index of the tab for each pressed key
     * @param event The keyboard event
     */
    protected onKeydown(i: number, event: KeyboardEvent): void;
    /**
     * Click handler for tab list item
     *
     * @param index Index of the tab clicked
     */
    protected tabListItemClick(index: number): void;
    /**
     * Activates a tab
     *
     * @param index Index of the tab to activate
     * @param isAnimated Whether the activation should be animated
     * @param options Object with emitEvent property to emit the event or not
     */
    protected activate(index: number, isAnimated?: boolean, options?: {
        emitEvent: boolean;
    }): void;
    /**
     * Closes a tab
     *
     * @param index Index of the tab to close
     * @param e
     */
    protected close(index: number, e: Event): void;
    /**
     * Checks if there are html elements within the tab panel, in order to focus or not the tab panel
     * @param index The tab index
     */
    protected onAttached(index: number): void;
    /**
     * Checks the existence of focusable elements
     * @param origin The element to check
     */
    private isFocusableElement;
    /**
     * Checks if the tabs headers are scrolling and calculates the scrolling position
     */
    private tabsScrollingHandler;
    /**
     * Sets the scroll position oon the tab header specified by index
     *
     * @param index Index of the tab header to scroll to
     * @param isAnimated Whether the tab activation should be animated
     */
    private setScrollToTabIndex;
    /**
     * Sets the scroll position of the tabs headers
     *
     * @param scrollTo Number to set on the margin-left style property
     * @param isAnimated Whether the tab activation should be animated
     */
    private setScrollTo;
    /**
     * Checks if the active tab is fully visible
     *
     * @param activeTab Index of the tab to check
     * @returns true if fully visible, false otherwise
     */
    private isActiveTabFullyVisible;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiTabsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiTabsComponent, "eui-tabs", never, { "e2eAttr": { "alias": "e2eAttr"; "required": false; }; "activeTabIndex": { "alias": "activeTabIndex"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "isMainNavigation": { "alias": "isMainNavigation"; "required": false; }; "isFlat": { "alias": "isFlat"; "required": false; }; }, { "tabClose": "tabClose"; "tabActivate": "tabActivate"; "tabClick": "tabClick"; }, ["_tabs"], ["eui-tabs-right-content"], true, never>;
    static ngAcceptInputType_isMainNavigation: unknown;
    static ngAcceptInputType_isFlat: unknown;
}

/**
 * @description
 * Content projection component for displaying custom content aligned to the right side of the tabs header.
 * Automatically positions content using flexbox with left margin auto for right alignment.
 * Typically contains action buttons, filters, or supplementary controls related to tab content.
 * Must be used as a direct child of eui-tabs component to maintain proper layout structure.
 *
 * @usageNotes
 * ### Basic Usage with Button
 * ```html
 * <eui-tabs>
 *   <eui-tab label="Tab 1">
 *     <eui-tab-body>Content 1</eui-tab-body>
 *   </eui-tab>
 *   <eui-tab label="Tab 2">
 *     <eui-tab-body>Content 2</eui-tab-body>
 *   </eui-tab>
 *
 *   <eui-tabs-right-content>
 *     <button euiButton euiPrimary (click)="addTab()">
 *       Add Tab
 *     </button>
 *   </eui-tabs-right-content>
 * </eui-tabs>
 * ```
 *
 * ### With Multiple Controls
 * ```html
 * <eui-tabs>
 *   <!-- tabs here -->
 *
 *   <eui-tabs-right-content>
 *     <eui-input-text placeholder="Filter..." />
 *     <button euiButton euiSecondary>
 *       <eui-icon-svg icon="eui-settings" />
 *     </button>
 *   </eui-tabs-right-content>
 * </eui-tabs>
 * ```
 *
 * ### Accessibility
 * - Controls should be keyboard accessible
 * - Buttons need descriptive labels or aria-labels
 * - Maintain logical tab order
 * - Interactive elements should have visible focus indicators
 *
 * ### Notes
 * - Automatically aligned to the right of tab headers
 * - Does not interfere with tab navigation controls
 * - Useful for global actions affecting all tabs
 * - Supports any content (buttons, inputs, dropdowns)
 * - Positioned at the same level as tab headers
 */
declare class EuiTabsRightContentComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiTabsRightContentComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiTabsRightContentComponent, "eui-tabs-right-content", never, {}, {}, never, ["*"], true, never>;
}

/**
 * @description
 * Primary label component for displaying the main text content within custom tab headers.
 * Provides consistent styling for the principal tab title or heading.
 * Serves as the primary identifier for the tab content when using custom header layouts.
 * Must be used within eui-tab-header to provide structured label content.
 *
 * @usageNotes
 * ### Basic Usage
 * ```html
 * <eui-tab>
 *   <eui-tab-header>
 *     <eui-tab-header-label>Dashboard</eui-tab-header-label>
 *   </eui-tab-header>
 *   <eui-tab-body>Content</eui-tab-body>
 * </eui-tab>
 * ```
 *
 * ### With Other Header Elements
 * ```html
 * <eui-tab-header>
 *   <eui-tab-header-left-content>
 *     <eui-icon-svg icon="eui-chart" />
 *   </eui-tab-header-left-content>
 *   <eui-tab-header-label>Analytics</eui-tab-header-label>
 *   <eui-tab-header-sub-label>Last 30 days</eui-tab-header-sub-label>
 * </eui-tab-header>
 * ```
 *
 * ### Accessibility
 * - Label text is the primary accessible name for the tab
 * - Should be concise and descriptive
 * - Avoid redundant text with icons
 *
 * ### Notes
 * - Applies consistent typography and spacing
 * - Primary text identifier for the tab
 * - Works with sub-label for hierarchical information
 */
declare class EuiTabHeaderLabelComponent {
    string: string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiTabHeaderLabelComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiTabHeaderLabelComponent, "eui-tab-header-label", never, {}, {}, never, ["*"], true, never>;
}

/**
 * @description
 * Sub-label component for displaying secondary descriptive text within custom tab headers.
 * Provides consistent styling for supplementary information below or alongside the main tab label.
 * Typically contains additional context, counts, or status information related to the tab.
 * Must be used within eui-tab-header to provide structured sub-label content.
 *
 * @usageNotes
 * ### Basic Usage
 * ```html
 * <eui-tab>
 *   <eui-tab-header>
 *     <eui-tab-header-label>Messages</eui-tab-header-label>
 *     <eui-tab-header-sub-label>12 unread</eui-tab-header-sub-label>
 *   </eui-tab-header>
 *   <eui-tab-body>Content</eui-tab-body>
 * </eui-tab>
 * ```
 *
 * ### With Dynamic Content
 * ```html
 * <eui-tab-header>
 *   <eui-tab-header-label>Tasks</eui-tab-header-label>
 *   <eui-tab-header-sub-label>
 *     {{ completedTasks }} of {{ totalTasks }} completed
 *   </eui-tab-header-sub-label>
 * </eui-tab-header>
 * ```
 *
 * ### Accessibility
 * - Sub-label provides additional context to screen readers
 * - Should complement, not duplicate, the main label
 * - Keep text concise for better readability
 *
 * ### Notes
 * - Applies secondary text styling (smaller, lighter)
 * - Useful for counts, status, or metadata
 * - Positioned below or beside main label
 * - Optional - tabs work without sub-labels
 */
declare class EuiTabHeaderSublabelComponent {
    string: string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiTabHeaderSublabelComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiTabHeaderSublabelComponent, "eui-tab-header-sub-label", never, {}, {}, never, ["*"], true, never>;
}

/**
 * @description
 * Content projection component for displaying custom content aligned to the left side of individual tab headers.
 * Enables placement of icons, indicators, or leading visual elements within the tab header area.
 * Automatically applies left-aligned styling for consistent positioning.
 * Must be used within eui-tab-header to add left-aligned supplementary content to tabs.
 *
 * @usageNotes
 * ### Basic Usage with Icon
 * ```html
 * <eui-tab>
 *   <eui-tab-header>
 *     <eui-tab-header-left-content>
 *       <eui-icon-svg icon="eui-home" size="s" />
 *     </eui-tab-header-left-content>
 *     <eui-tab-header-label>Home</eui-tab-header-label>
 *   </eui-tab-header>
 *   <eui-tab-body>Content</eui-tab-body>
 * </eui-tab>
 * ```
 *
 * ### With Avatar
 * ```html
 * <eui-tab-header>
 *   <eui-tab-header-left-content>
 *     <eui-avatar [imageUrl]="user.avatar" euiSizeXs />
 *   </eui-tab-header-left-content>
 *   <eui-tab-header-label>{{ user.name }}</eui-tab-header-label>
 * </eui-tab-header>
 * ```
 *
 * ### Accessibility
 * - Icons should have aria-label or aria-hidden
 * - Decorative content should use aria-hidden="true"
 * - Meaningful icons need descriptive labels
 *
 * ### Notes
 * - Positioned before the label text
 * - Commonly used for icons or avatars
 * - Maintains consistent spacing
 * - Supports any content (icons, badges, custom elements)
 */
declare class EuiTabHeaderLeftContentComponent {
    string: string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiTabHeaderLeftContentComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiTabHeaderLeftContentComponent, "eui-tab-header-left-content", never, {}, {}, never, ["*"], true, never>;
}

/**
 * @description
 * Content projection component for displaying custom content aligned to the right side of individual tab headers.
 * Enables placement of badges, icons, or action buttons within the tab header area.
 * Automatically applies right-aligned styling for consistent positioning.
 * Must be used within eui-tab-header to add right-aligned supplementary content to tabs.
 *
 * @usageNotes
 * ### Basic Usage with Badge
 * ```html
 * <eui-tab>
 *   <eui-tab-header>
 *     <eui-tab-header-label>Notifications</eui-tab-header-label>
 *     <eui-tab-header-right-content>
 *       <eui-badge euiDanger>5</eui-badge>
 *     </eui-tab-header-right-content>
 *   </eui-tab-header>
 *   <eui-tab-body>Content</eui-tab-body>
 * </eui-tab>
 * ```
 *
 * ### With Multiple Elements
 * ```html
 * <eui-tab-header>
 *   <eui-tab-header-label>Tasks</eui-tab-header-label>
 *   <eui-tab-header-right-content>
 *     <eui-badge euiSuccess>3</eui-badge>
 *     <eui-icon-svg icon="eui-checkmark" size="xs" />
 *   </eui-tab-header-right-content>
 * </eui-tab-header>
 * ```
 *
 * ### Accessibility
 * - Badges should convey meaningful information
 * - Icons need aria-label if interactive
 * - Decorative elements use aria-hidden="true"
 * - Maintain logical tab order for interactive elements
 *
 * ### Notes
 * - Positioned after the label text
 * - Commonly used for badges, counts, or status icons
 * - Maintains consistent spacing
 * - Supports multiple elements
 * - Does not interfere with close button placement
 */
declare class EuiTabHeaderRightContentComponent {
    string: string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiTabHeaderRightContentComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiTabHeaderRightContentComponent, "eui-tab-header-right-content", never, {}, {}, never, ["*"], true, never>;
}

declare const EUI_TABS: readonly [typeof EuiTabsComponent, typeof EuiTabsRightContentComponent, typeof EuiTabBodyComponent, typeof EuiTabHeaderComponent, typeof EuiTabHeaderLabelComponent, typeof EuiTabHeaderSublabelComponent, typeof EuiTabHeaderRightContentComponent, typeof EuiTabHeaderLeftContentComponent, typeof EuiTabComponent];

export { EUI_TABS, EuiTabBodyComponent, EuiTabComponent, EuiTabHeaderComponent, EuiTabHeaderLabelComponent, EuiTabHeaderLeftContentComponent, EuiTabHeaderRightContentComponent, EuiTabHeaderSublabelComponent, EuiTabsComponent, EuiTabsRightContentComponent };
//# sourceMappingURL=eui-components-eui-tabs.d.ts.map
