import * as _angular_core from '@angular/core';
import { OnInit, QueryList } from '@angular/core';
import * as i1 from '@eui/components/shared';
import { BaseStatesDirective } from '@eui/components/shared';

/**
 * @description
 * The EuiAlertTitleComponent is a subcomponent of the EuiAlertComponent.
 * It is used to display the title of the alert.
 *
 * @see {@link EuiAlertComponent} for more details on how to use the alert component.
 */
declare class EuiAlertTitleComponent {
    /**
     * @description
     * Computes and returns the CSS classes for the label title component based on its current state.
     *
     * @default 'eui-alert-title'
     * @returns {string} Space-separated string of CSS class names
     */
    class: string;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<EuiAlertTitleComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<EuiAlertTitleComponent, "eui-alert-title", never, {}, {}, never, ["*"], true, never>;
}

/**
 * @description
 * Alert displays a short, important message to attract the user's attention without interrupting its task.
 */
declare class EuiAlertComponent implements OnInit {
    baseStatesDirective: BaseStatesDirective;
    /**
     * @description
     * Computes and returns the CSS classes for the component based on its current state.
     *
     * @returns {string} Space-separated string of CSS class names
     */
    get cssClasses(): string;
    /**
     * Sets the `role` attribute for the host element.
     *
     * @default 'alert'
     */
    role: string;
    /**
     * Sets the `aria-describedby` attribute for the host element.
     *
     * @default `alertContent-${uniqueId}`
     * @returns The ID of the element associated with the alert.
     */
    get ariaDescribedBy(): string;
    /**
     * Sets the `tabindex` attribute for the host element.
     *
     * @returns '0' if defined as focusable else '1' as string.
     */
    get tabindex(): string;
    /**
     * Sets the `data-e2e` attribute for the host element. It is used for end-to-end testing.
     *
     * @default 'eui-alert'
     */
    get e2eAttribute(): string;
    /**
     * Used for end-to-end testing.
     *
     * @default 'eui-alert'
     */
    e2eAttr: _angular_core.InputSignal<string>;
    /**
     * Allows the alert to be closed by the user.
     *
     * @default false
     */
    isCloseable: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Allows the alert to be focused by the user.
     *
     * @default false
     */
    isFocusable: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Controls the visibility of the alert. Default: true
     *
     * @default true
     */
    isVisible: _angular_core.ModelSignal<boolean>;
    /**
     * Event emitted when the alert is closed.
     */
    closeAlert: _angular_core.OutputEmitterRef<boolean>;
    /**
     * Content for the alert title given by `<eui-alert-title>`.
     */
    alertTitle: QueryList<EuiAlertTitleComponent>;
    /**
     * @description
     * Unique identifier for the alert component.
     * This ID is used to associate the alert with its content for accessibility purposes.
     * It is generated using the `crypto` API to ensure uniqueness.
     */
    private uniqueId;
    /**
     * Initializes the component.
     * Generates a unique ID for the alert on component initialization.
     */
    ngOnInit(): void;
    /**
     * Hide the alert and emits the `closeAlert` event when the close button is clicked.
     */
    onCloseClick(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<EuiAlertComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<EuiAlertComponent, "div[euiAlert], eui-alert", never, { "e2eAttr": { "alias": "e2eAttr"; "required": false; "isSignal": true; }; "isCloseable": { "alias": "isCloseable"; "required": false; "isSignal": true; }; "isFocusable": { "alias": "isFocusable"; "required": false; "isSignal": true; }; "isVisible": { "alias": "isVisible"; "required": false; "isSignal": true; }; }, { "isVisible": "isVisibleChange"; "closeAlert": "closeAlert"; }, ["alertTitle"], ["*", "eui-alert-title", "*", "*", "*", "*"], true, [{ directive: typeof i1.BaseStatesDirective; inputs: { "euiSuccess": "euiSuccess"; "euiInfo": "euiInfo"; "euiWarning": "euiWarning"; "euiDanger": "euiDanger"; "euiVariant": "euiVariant"; }; outputs: {}; }]>;
}

declare const EUI_ALERT: readonly [typeof EuiAlertComponent, typeof EuiAlertTitleComponent];

export { EUI_ALERT, EuiAlertComponent, EuiAlertTitleComponent };
//# sourceMappingURL=eui-components-eui-alert.d.ts.map
