import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';
import { ContentDensityObserver } from '@fundamental-ngx/core/content-density';
import * as i0 from "@angular/core";
/**
 * A token is used to represent contextualizing information.
 * They can be useful to show applied filters, selected values for form fields or object metadata.
 */
export declare class TokenComponent implements AfterViewInit, OnDestroy {
    elementRef: ElementRef;
    private _cdRef;
    readonly _contentDensityObserver: ContentDensityObserver;
    /** Whether the token is disabled. */
    disabled: boolean;
    /** @hidden */
    tokenWrapperElement: ElementRef;
    /** @hidden */
    readonly _content: TemplateRef<any>;
    /** @hidden */
    readonly _viewContainer: ViewContainerRef;
    /** Whether the token is selected. */
    set selected(val: boolean);
    get selected(): boolean;
    /** Whether the token is read-only. */
    readOnly: boolean;
    /** Emitted when the *x* icon is clicked. Specifically, any pseudo-element. */
    readonly onCloseClick: EventEmitter<MouseEvent>;
    /** Emitted when token should be removed */
    readonly onRemove: EventEmitter<void>;
    /** Emitted when a token is clicked. */
    onTokenClick: EventEmitter<MouseEvent>;
    /** Emitted when a there's a keydown registered on the token. */
    onTokenKeydown: EventEmitter<KeyboardEvent>;
    /**
     * Emitted when token element received or lost focus.
     */
    elementFocused: EventEmitter<boolean>;
    /** @hidden */
    _totalCount: number;
    /** @hidden */
    _itemPosition: number;
    /** @hidden */
    private _selected;
    /** @hidden */
    private _subscriptions;
    /** @hidden */
    private readonly _destroyRef;
    /** @hidden */
    constructor(elementRef: ElementRef, _cdRef: ChangeDetectorRef, _contentDensityObserver: ContentDensityObserver);
    /** @hidden */
    ngAfterViewInit(): void;
    /** @hidden */
    ngOnDestroy(): void;
    /** @hidden */
    closeClickHandler(event?: any): void;
    /** @hidden */
    tokenClickHandler(event: any): void;
    /** @hidden */
    tokenKeydownHandler(event: any): void;
    /** @hidden */
    _setTotalCount(count: number, itemPosition: number): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TokenComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TokenComponent, "fd-token", never, { "disabled": { "alias": "disabled"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; }, { "onCloseClick": "onCloseClick"; "onRemove": "onRemove"; "onTokenClick": "onTokenClick"; "onTokenKeydown": "onTokenKeydown"; "elementFocused": "elementFocused"; }, never, ["*"], true, never>;
}
