import { QueryList, OnInit, AfterContentInit, AfterViewInit, EventEmitter, OnDestroy, OnChanges, SimpleChanges, ElementRef } from '@angular/core';
import { BaseStatesDirective } from '@eui/components/shared';
import { CdkDragDrop, CdkDropList, CdkDragStart, CdkDragEnter, CdkDragRelease } from '@angular/cdk/drag-drop';
import { EuiChipComponent, EuiChip } from '@eui/components/eui-chip';
import { EuiChipDragDrop } from './models/eui-chip-drag-drop.model';
import * as i0 from "@angular/core";
import * as i1 from "@eui/components/shared";
/**
 * @description
 * Multiple eui-chips displayed dynamically as a group of multiple interactive elements.
 */
export declare class EuiChipListComponent implements AfterViewInit, AfterContentInit, OnDestroy, OnChanges, OnInit {
    /**
     * Array of chips to display in the list when used with the data approach.
     *
     * @deprecated This option has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    chips: any[];
    /**
     * In combination with `maxVisibleChipsCount`, sets the label of the 'more chips' button, if not provided an arrow right icon will be displayed only.
     *
     * @type {string}
     *
     * @deprecated This option has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    toggleLinkMoreLabel: string;
    /**
     * In combination with `maxVisibleChipsCount`, sets the label of the 'less chips' button, if not provided an arrow left icon will be displayed only.
     *
     * @type {string}
     *
     * @deprecated This option has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    toggleLinkLessLabel: string;
    /**
     * In combination with `isChipsSorted`. Sets the sort criteria of the chips.
     *
     * @type {('ASC' | 'DESC')}
     * @default 'ASC'
     *
     * @deprecated This option has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    chipsSortOrder: 'ASC' | 'DESC';
    /**
     * In combination with `isChipsDragAndDrop`, sets the name to the chips source.
     *
     * @type {string}
     *
     * @deprecated This option has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    dragAndDropSourceName: string;
    /**
     * In combination with `isChipsDragAndDrop`, sets the name to the chips source with which a drag and drop will be done.
     *
     * @type {string}
     *
     * @deprecated This option has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    dragAndDropConnectedTo: string[];
    /**
     * Sets the `aria-label` attribute for the host element.
     *
     * @default 'eUI Chip List'
     *
     * @deprecated This option has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    ariaLabel: string;
    /**
     * In combination with `isChipsDragAndDrop`, sets the orientation of the list.
     *
     * @type {string} 'horizontal' | 'vertical'
     * @default 'horizontal'
     *
     * @deprecated This option has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    dropListOrientation: 'horizontal' | 'vertical';
    /**
     * @deprecated This option is not applicable anymore to comply Design System.
     */
    isSquared: boolean;
    /**
     * Whether the chip can be removed from the list.
     *
     * @default false
     *
     * @deprecated This option has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    isChipsRemovable: boolean;
    /**
     * In combination with `maxVisibleChipsCount`. Whether all chips are shown by default.
     *
     * @default false
     *
     * @deprecated This option has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    isMaxVisibleChipsOpened: boolean;
    /**
     * Whether this chips are sorted on their label.
     *
     * @default false
     *
     * @deprecated This option has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    isChipsSorted: boolean;
    /**
     * Whether the chips can be drag and dropped.
     *
     * @default false
     *
     * @deprecated This option has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    isChipsDragAndDrop: boolean;
    /**
     * In combination with `isChipsDragAndDrop`. Whether the chips are drag and droppable in a flex container.
     *
     * @default false
     *
     * @deprecated This option has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    isGrid: boolean;
    /**
     * Whether a limited amount, defined by this option, is used to display the chips.
     *
     * @deprecated This option has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    maxVisibleChipsCount: any;
    /**
     * Whether the chips label length are limited by the value of this option.
     *
     * @deprecated This option has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    chipsLabelTruncateCount: any;
    /**
     * Event emitted with `CdkDropList` object when the chiplist is initiated.
     *
     * @deprecated This event has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    chipsInit: EventEmitter<CdkDropList<any>>;
    /**
     * Event emitted when a chip is removed from the list.
     *
     * @deprecated This event has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    chipRemove: EventEmitter<{
        chips: EuiChip[];
        removed: EuiChip | {
            chip: EuiChip;
            event: Event;
        };
    }>;
    /**
     * Event emitted when a chip drag starts.
     *
     * @deprecated This event has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    chipDragStart: EventEmitter<EuiChipDragDrop>;
    /**
     * Event emitted when a chip drag is released.
     *
     * @deprecated This event has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    chipDragRelease: EventEmitter<EuiChipDragDrop>;
    /**
     * Event emitted when a chip drag is released.
     *
     * @deprecated This event has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    chipDrop: EventEmitter<EuiChipDragDrop>;
    /**
     * Event emitted when the list gets the focus.
     *
     * @deprecated This event has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    chiplistFocus: EventEmitter<boolean>;
    /**
     * @description
     * Computes and returns the CSS classes for the label title component based on its current state.
     *
     * @returns {string} Space-separated string of CSS class names
     */
    get cssClasses(): string;
    droppableArea: (CdkDropList | string)[];
    connectComponent: CdkDropList[];
    e2eAttr: string;
    euiChipsContent: QueryList<EuiChipComponent>;
    chipListDropList: CdkDropList;
    chipListDragAndDropItems: CdkDropList;
    euiChipItems: QueryList<ElementRef>;
    private destroy$;
    private cd;
    private euiChipListDragService;
    private domSanitizer;
    protected baseStatesDirective: BaseStatesDirective;
    ngOnChanges(c: SimpleChanges): void;
    ngOnInit(): void;
    ngAfterContentInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    /**
     * Method toggling the display of the chips in combination with `maxVisibleChipsCount`.
     *
     * @deprecated This method has been removed in version 21.
     * It must now be implemented at the application level.
     * For more information, see: [EUI Showcase](https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/style-guide/components/eui-chip-list)
     */
    toggleTags(): void;
    getChipContent(euiChip: any): string;
    getChipLabel(euiChip: any): string;
    /**
     * Method that returns a boolean indicating if an icon has been declared before the label.
     *
     * @param euiChip Chip to check.
     * @returns `true` if an icon has been declared otherwise `false`.
     */
    getChipIconBefore(euiChip: any): boolean;
    /**
     * Method that returns a boolean indicating of an icon has been declared after the label.
     *
     * @param euiChip Chip to check.
     * @returns `true` if an icon has been declared otherwise `false`.
     */
    getChipIconAfter(euiChip: any): boolean;
    /**
     * Remove chip from the list handler
     *
     * @param removed Chip that is removed
     */
    onRemove(removed: EuiChipComponent | EuiChip | {
        chip: EuiChipComponent | EuiChip;
        event?: Event;
    } | any): void;
    /**
     * Drag and Drop chip handler used when a chip is moved to another container.
     *
     * @param event `CdkDragEnter` object used to move the chip in a list.
     */
    onDragEnter(event: CdkDragEnter): void;
    /**
     * Method called when a chip is dropped.
     *
     * @param event `CdkDragDrop` object used to move the chip in a list.
     */
    onDropGrid(e: CdkDragDrop<{
        chip: EuiChip;
        index: number;
    }>): void;
    /**
     * Drag and Drop chip handler used when a chip is moved inside a container.
     *
     * @param e `CdkDragDrop` object used to move the chip in a list.
     */
    drop(e: CdkDragDrop<{
        chips: any[];
    }>): void;
    /**
     * Method called when a chip starts to be dragged.
     *
     * @param event `CdkDragStart` object used to move the chip in a list.
     */
    onDragStarted(event: CdkDragStart): void;
    /**
     * Method called when a chip is released after dragging.
     *
     * @param event `CdkDragRelease` object used to move the chip in a list.
     */
    onDragReleased(event: CdkDragRelease): void;
    /**
     * Method called when the list gets the focus.
     */
    onFocus(): void;
    /**
     * Generates a random id to be used in the chips.
     *
     * @returns an id as a string
     */
    private generateId;
    /**
     * Method that orders the chips in the list.
     *
     * @param tab Array of chips to order.
     * @param sortOrder Sorting to apply `ASC` or `DESC`.
     * @returns The array ordered.
     */
    private orderItems;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiChipListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiChipListComponent, "eui-chip-list, div[euiChipList], ul[euiChipList]", never, { "chips": { "alias": "chips"; "required": false; }; "toggleLinkMoreLabel": { "alias": "toggleLinkMoreLabel"; "required": false; }; "toggleLinkLessLabel": { "alias": "toggleLinkLessLabel"; "required": false; }; "chipsSortOrder": { "alias": "chipsSortOrder"; "required": false; }; "dragAndDropSourceName": { "alias": "dragAndDropSourceName"; "required": false; }; "dragAndDropConnectedTo": { "alias": "dragAndDropConnectedTo"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "dropListOrientation": { "alias": "dropListOrientation"; "required": false; }; "isSquared": { "alias": "isSquared"; "required": false; }; "isChipsRemovable": { "alias": "isChipsRemovable"; "required": false; }; "isMaxVisibleChipsOpened": { "alias": "isMaxVisibleChipsOpened"; "required": false; }; "isChipsSorted": { "alias": "isChipsSorted"; "required": false; }; "isChipsDragAndDrop": { "alias": "isChipsDragAndDrop"; "required": false; }; "isGrid": { "alias": "isGrid"; "required": false; }; "maxVisibleChipsCount": { "alias": "maxVisibleChipsCount"; "required": false; }; "chipsLabelTruncateCount": { "alias": "chipsLabelTruncateCount"; "required": false; }; }, { "chipsInit": "chipsInit"; "chipRemove": "chipRemove"; "chipDragStart": "chipDragStart"; "chipDragRelease": "chipDragRelease"; "chipDrop": "chipDrop"; "chiplistFocus": "chiplistFocus"; }, ["euiChipsContent"], ["euiChipListAppendContent"], true, [{ directive: typeof i1.BaseStatesDirective; inputs: { "euiPrimary": "euiPrimary"; "euiSecondary": "euiSecondary"; "euiSuccess": "euiSuccess"; "euiInfo": "euiInfo"; "euiWarning": "euiWarning"; "euiDanger": "euiDanger"; "euiAccent": "euiAccent"; "euiVariant": "euiVariant"; "euiSizeS": "euiSizeS"; "euiSizeVariant": "euiSizeVariant"; "euiOutline": "euiOutline"; "euiDisabled": "euiDisabled"; }; outputs: {}; }]>;
    static ngAcceptInputType_isSquared: unknown;
    static ngAcceptInputType_isChipsRemovable: unknown;
    static ngAcceptInputType_isMaxVisibleChipsOpened: unknown;
    static ngAcceptInputType_isChipsSorted: unknown;
    static ngAcceptInputType_isChipsDragAndDrop: unknown;
    static ngAcceptInputType_isGrid: unknown;
    static ngAcceptInputType_maxVisibleChipsCount: unknown;
    static ngAcceptInputType_chipsLabelTruncateCount: unknown;
}
/**
 * @description
 * This directive is only used internally by eui-autocomplete component to be able to display the chips above, below and inside the text input with an option.
 */
export declare class EuiChipListAppendContentDirective {
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiChipListAppendContentDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<EuiChipListAppendContentDirective, "euiChipListAppendContent", never, {}, {}, never, never, true, never>;
}
//# sourceMappingURL=eui-chip-list.component.d.ts.map