import { ElementRef, AfterViewInit } from '@angular/core';
import { BaseStatesDirective } from '@eui/components/shared';
import * as i0 from "@angular/core";
import * as i1 from "@eui/components/shared";
/**
 * @description
 * A badge component that can display text, numbers, or icons with various states and styles.
 * Supports content truncation, empty states, and icon-only modes.
 *
 */
export declare class EuiBadgeComponent implements AfterViewInit {
    /**
     * @description
     * Computes and returns the CSS classes for the badge based on its current state
     *
     * @returns {string} Space-separated string of CSS class names
     */
    get cssClasses(): string;
    /** @description Data attribute for e2e testing */
    e2eAttr: string;
    /** @description ARIA role for accessibility */
    role: string;
    /** @description ARIA label for accessibility */
    ariaLabel: string | null;
    /**
     * @description Maximum number of characters to display before truncating
     */
    maxCharCount: number;
    /**
     * @description String to display when content is truncated
     */
    charReplacement: string;
    /**
     * @description Whether the badge contains only an icon
     * @default false
     */
    euiIconBadge: boolean;
    /**
     * @description Whether to display the badge as a dot
     * @default false
     */
    euiDottedBadge: boolean;
    /** @description Reference to the content element */
    content: ElementRef;
    /** @description Tracks if content has been updated due to truncation */
    protected hasContentUpdated: boolean;
    /** @description Updated content after truncation when hasContentUpdated is true */
    protected updatedContent: string;
    /** @description Instance of BaseStatesDirective for managing component states */
    protected baseStatesDirective: BaseStatesDirective;
    /** @description Change detector reference for manual change detection */
    private cdRef;
    /** @description Tracks whether the badge has any content */
    private hasContent;
    /**
     * @description
     * After view initialization, checks if the badge has content and handles content truncation
     */
    ngAfterViewInit(): void;
    /**
     * @description
     * Handles content changes and triggers content checking
     */
    onContentChanged(): void;
    /**
     * @description
     * Checks if content exceeds maxCharCount and updates content if necessary
     * @private
     */
    private _checkContent;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiBadgeComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiBadgeComponent, "div[euiBadge], span[euiBadge], eui-badge", never, { "e2eAttr": { "alias": "e2eAttr"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "maxCharCount": { "alias": "maxCharCount"; "required": false; }; "charReplacement": { "alias": "charReplacement"; "required": false; }; "euiIconBadge": { "alias": "euiIconBadge"; "required": false; }; "euiDottedBadge": { "alias": "euiDottedBadge"; "required": false; }; }, {}, never, ["*"], true, [{ directive: typeof i1.BaseStatesDirective; inputs: { "euiPrimary": "euiPrimary"; "euiSecondary": "euiSecondary"; "euiSuccess": "euiSuccess"; "euiInfo": "euiInfo"; "euiWarning": "euiWarning"; "euiDanger": "euiDanger"; "euiAccent": "euiAccent"; "euiVariant": "euiVariant"; "euiSizeS": "euiSizeS"; "euiSizeM": "euiSizeM"; "euiSizeVariant": "euiSizeVariant"; "euiOutline": "euiOutline"; }; outputs: {}; }]>;
    static ngAcceptInputType_euiIconBadge: unknown;
    static ngAcceptInputType_euiDottedBadge: unknown;
}
//# sourceMappingURL=eui-badge.component.d.ts.map