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

/**
 * @description
 * Action container for EuiSectionHeader that holds interactive elements like buttons or links.
 *
 * @usageNotes
 * ```html
 * <eui-section-header-action>
 *   <button euiButton>Action</button>
 * </eui-section-header-action>
 * ```
 */
declare class EuiSectionHeaderActionComponent {
    /** CSS class applied to the host element */
    string: string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiSectionHeaderActionComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiSectionHeaderActionComponent, "eui-section-header-action", never, {}, {}, never, ["*"], true, never>;
}

/**
 * @description
 * Description container for EuiSectionHeader that displays supplementary text below the title.
 *
 * @usageNotes
 * ```html
 * <eui-section-header-description>Additional context or instructions</eui-section-header-description>
 * ```
 */
declare class EuiSectionHeaderDescriptionComponent {
    /** CSS class applied to the host element */
    string: string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiSectionHeaderDescriptionComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiSectionHeaderDescriptionComponent, "eui-section-header-description", never, {}, {}, never, ["*"], true, never>;
}

/**
 * @description
 * Icon container for EuiSectionHeader that displays an icon before the title.
 *
 * @usageNotes
 * ```html
 * <eui-section-header-icon icon="settings"></eui-section-header-icon>
 * ```
 */
declare class EuiSectionHeaderIconComponent {
    /** CSS class applied to the host element */
    string: string;
    icon: string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiSectionHeaderIconComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiSectionHeaderIconComponent, "eui-section-header-icon", never, { "icon": { "alias": "icon"; "required": false; }; }, {}, never, never, true, never>;
}

/**
 * @description
 * Title container for EuiSectionHeader that displays the main heading text.
 *
 * @usageNotes
 * ```html
 * <eui-section-header-title>Section Title</eui-section-header-title>
 * ```
 */
declare class EuiSectionHeaderTitleComponent {
    /** CSS class applied to the host element */
    string: string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiSectionHeaderTitleComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiSectionHeaderTitleComponent, "eui-section-header-title", never, {}, {}, never, ["*"], true, never>;
}

/**
 * @description
 * Section header component that provides a grouped container with optional expand/collapse functionality
 * and customizable label content. Used to organize and separate content sections with clear visual hierarchy.
 *
 * @usageNotes
 * ### Basic usage
 * ```html
 * <eui-section-header>
 *   <eui-section-header-title>Section Title</eui-section-header-title>
 *   <eui-section-header-description>Description text</eui-section-header-description>
 * </eui-section-header>
 * ```
 *
 * ### With icon and action
 * ```html
 * <eui-section-header>
 *   <eui-section-header-icon icon="info"></eui-section-header-icon>
 *   <eui-section-header-title>Settings</eui-section-header-title>
 *   <eui-section-header-action>
 *     <button euiButton>Edit</button>
 *   </eui-section-header-action>
 * </eui-section-header>
 * ```
 *
 * ### Expandable section
 * ```html
 * <eui-section-header
 *   [isExpandable]="true"
 *   [isExpanded]="expanded"
 *   (expand)="onToggle($event)">
 *   <eui-section-header-title>Advanced Options</eui-section-header-title>
 * </eui-section-header>
 * ```
 *
 * ### Accessibility
 * - Expandable sections use proper ARIA attributes for disclosure widgets
 * - Keyboard accessible expand/collapse with Enter and Space
 * - Clear visual indicators for expanded/collapsed state
 * - Action buttons maintain their own accessibility requirements
 *
 * ### Notes
 * - Use `isFirst` to remove top border for the first section in a group
 * - Supports color variants via `euiVariant` (primary, secondary, success, etc.)
 * - `euiHighlighted` adds visual emphasis to important sections
 * - Combine with content containers for complete section structure
 */
declare class EuiSectionHeaderComponent {
    /** CSS classes applied to the host element */
    get cssClasses(): string;
    /** Element attribute for e2e testing */
    e2eAttr: string;
    /** Unique identifier for the fieldset */
    id: string;
    /** Whether the fieldset can be expanded/collapsed */
    isExpandable: boolean;
    /** Whether the fieldset is currently expanded */
    isExpanded: boolean;
    /** Whether this is the first fieldset in a group */
    isFirst: boolean;
    /** Event emitted when the fieldset is expanded or collapsed */
    expand: EventEmitter<string>;
    /** Label for expand button accessibility */
    expandMenuLabel: string;
    /** Label for collapse button accessibility */
    collapseMenuLabel: string;
    protected baseStatesDirective: BaseStatesDirective;
    /**
     * Handles expand/collapse toggle events
     * Emits the fieldset ID when toggled
     */
    onToggle(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiSectionHeaderComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiSectionHeaderComponent, "eui-section-header", never, { "e2eAttr": { "alias": "e2eAttr"; "required": false; }; "id": { "alias": "id"; "required": false; }; "isExpandable": { "alias": "isExpandable"; "required": false; }; "isExpanded": { "alias": "isExpanded"; "required": false; }; "isFirst": { "alias": "isFirst"; "required": false; }; }, { "expand": "expand"; }, never, ["eui-section-header-icon", "eui-section-header-title", "eui-section-header-action", "eui-section-header-description", "*"], true, [{ directive: typeof i1.BaseStatesDirective; inputs: { "euiPrimary": "euiPrimary"; "euiSecondary": "euiSecondary"; "euiSuccess": "euiSuccess"; "euiInfo": "euiInfo"; "euiWarning": "euiWarning"; "euiDanger": "euiDanger"; "euiVariant": "euiVariant"; "euiHighlighted": "euiHighlighted"; }; outputs: {}; }]>;
    static ngAcceptInputType_isExpandable: unknown;
    static ngAcceptInputType_isExpanded: unknown;
    static ngAcceptInputType_isFirst: unknown;
}

declare const EUI_SECTION_HEADER: readonly [typeof EuiSectionHeaderComponent, typeof EuiSectionHeaderTitleComponent, typeof EuiSectionHeaderIconComponent, typeof EuiSectionHeaderActionComponent, typeof EuiSectionHeaderDescriptionComponent];

export { EUI_SECTION_HEADER, EuiSectionHeaderActionComponent, EuiSectionHeaderComponent, EuiSectionHeaderDescriptionComponent, EuiSectionHeaderIconComponent, EuiSectionHeaderTitleComponent };
//# sourceMappingURL=eui-components-eui-section-header.d.ts.map
