import { EventEmitter } from '@angular/core';
import { BadgeColors } from './types/badge-colors';
import { BadgeTypes } from './types/badge-types';
import * as i0 from "@angular/core";
/**
 * @description Componente de badge (etiqueta) para exibir rótulos coloridos e clicáveis,
 * com suporte a ícones, variantes visuais (pill, tag) e estado selecionável.
 *
 * @example
 * ```html
 * <s-badge color="blue" type="pill" text="Ativo" />
 * ```
 *
 * @category Feedback
 */
export declare class BadgeComponent {
    /** @description Variante visual do badge. @default 'pill' */
    type?: BadgeTypes;
    /** @description Cor do badge. @default 'blue' */
    color?: BadgeColors;
    /** @description Texto de título exibido no badge. */
    title?: string;
    /** @description Texto principal exibido dentro do badge. */
    text?: string;
    /** @description Habilita o modo selecionável, emitindo o evento `selected` ao clicar. @default false */
    selectable: boolean;
    /** @description Classe CSS do ícone exibido no badge (ex.: `'fa fa-check'`). */
    iconClass?: string;
    /** @description Posição do ícone em relação ao texto. @default 'left' */
    iconPosition?: 'left' | 'right';
    /** @description Configuração do info-sign exibido no badge, com texto e tempo de exibição opcional. */
    infoSign: {
        text: string;
        displayTime?: number;
    };
    /** @description Emitido ao clicar no badge, enviando o valor de `text`. */
    selected: EventEmitter<string>;
    onClick(): void;
    enableTruncateText: import("@angular/core").InputSignal<boolean>;
    static ɵfac: i0.ɵɵFactoryDeclaration<BadgeComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BadgeComponent, "s-badge", never, { "type": { "alias": "type"; "required": false; }; "color": { "alias": "color"; "required": false; }; "title": { "alias": "title"; "required": false; }; "text": { "alias": "text"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; "iconPosition": { "alias": "iconPosition"; "required": false; }; "infoSign": { "alias": "infoSign"; "required": false; }; "enableTruncateText": { "alias": "enableTruncateText"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, never, never, true, never>;
}
