import { TextMeasurementService } from '@agorapulse/ui-components/text-measurement';
import * as i0 from '@angular/core';
import { AfterContentInit, OnChanges, OnDestroy, EventEmitter, ChangeDetectorRef, ElementRef, NgZone, SimpleChanges, AfterViewInit } from '@angular/core';

declare class LabelListComponent implements AfterContentInit, OnChanges, OnDestroy {
    private changeDetectorRef;
    private elementRef;
    private textMeasurementService;
    private zone;
    labels: string[];
    removeLabelsEnabled: boolean;
    responsive: boolean;
    seeLessTranslation: string;
    hiddenLabelsTranslation: string;
    removeLabel: EventEmitter<string>;
    badgeWidth: number;
    expanded: boolean;
    howManyItemsLeft: number;
    responsiveLabels: string[];
    private observer;
    private width$;
    constructor(changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef, textMeasurementService: TextMeasurementService, zone: NgZone);
    ngAfterContentInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    onExpand(): void;
    onRemoveLabel({ content }: {
        content: string;
    }): void;
    onResize(): void;
    trackByLabelContent(_: number, entry: string): string;
    private generateResponsiveLabels;
    static ɵfac: i0.ɵɵFactoryDeclaration<LabelListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LabelListComponent, "ap-label-list", never, { "labels": { "alias": "labels"; "required": false; }; "removeLabelsEnabled": { "alias": "removeLabelsEnabled"; "required": false; }; "responsive": { "alias": "responsive"; "required": false; }; "seeLessTranslation": { "alias": "seeLessTranslation"; "required": false; }; "hiddenLabelsTranslation": { "alias": "hiddenLabelsTranslation"; "required": false; }; }, { "removeLabel": "removeLabel"; }, never, never, true, never>;
}

declare class LabelComponent implements AfterViewInit, OnDestroy {
    private elementRef;
    private symbolRegistry;
    private zone;
    content: string;
    selectorWidth: number;
    removable: boolean;
    remove: EventEmitter<{
        content: string;
        $event: MouseEvent;
    }>;
    private observer;
    tooltipEnabled: boolean;
    constructor();
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    onClearLabel($event: MouseEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LabelComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LabelComponent, "ap-label", never, { "content": { "alias": "content"; "required": true; }; "selectorWidth": { "alias": "selectorWidth"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; }, { "remove": "remove"; }, never, never, true, never>;
    static ngAcceptInputType_removable: unknown;
}

export { LabelComponent, LabelListComponent };
