import { EventEmitter } from '@angular/core';
import { IToken } from './models/token';
import * as i0 from "@angular/core";
/**
 * @description Componente de lista de tokens (etiquetas) clicáveis e opcionalmente
 * removíveis. Emite eventos ao selecionar ou remover um token.
 *
 * @example
 * ```html
 * <s-token-list
 *   [tokens]="listaDeTokens"
 *   [removableTokens]="true"
 *   (tokenSelected)="onTokenSelecionado($event)"
 *   (tokenRemoved)="onTokenRemovido($event)" />
 * ```
 *
 * @category Summary
 */
export declare class TokenListComponent {
    static nextId: number;
    /** @description Identificador único do componente no DOM. Gerado automaticamente se não informado. */
    id: string;
    /** @description Lista de tokens exibidos. Campo obrigatório. */
    tokens: IToken[];
    /** @description Exibe o botão de remoção em cada token. @default false */
    removableTokens: boolean;
    /** @description Quando `true`, remove os eventos de ponteiro (hover/clique) dos tokens. @default false */
    hidePointerEvents: boolean;
    /** @description Emitido quando o usuário clica em um token não desabilitado. */
    tokenSelected: EventEmitter<IToken>;
    /** @description Emitido quando o usuário remove um token não desabilitado. */
    tokenRemoved: EventEmitter<IToken>;
    onTokenSelected(token: IToken): void;
    onTokenRemoved(token: IToken): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TokenListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TokenListComponent, "s-token-list", never, { "id": { "alias": "id"; "required": false; }; "tokens": { "alias": "tokens"; "required": true; }; "removableTokens": { "alias": "removableTokens"; "required": false; }; "hidePointerEvents": { "alias": "hidePointerEvents"; "required": false; }; }, { "tokenSelected": "tokenSelected"; "tokenRemoved": "tokenRemoved"; }, never, never, false, never>;
}
