import * as i0 from "@angular/core";
/**
* Forma de cada ítem de `lista` en app-badge/app-badge-select. A diferencia de
* app-input (quea recibe `lista: any[]` genérico + `keyCodigo`/`keyDescri` apuntando
* a qué propiedad leer), acá cada opción ya viene con su propio código y label
* embebidos, porque normalmente se arma a mano (ej. prioridades, estados) en vez
* de venir de una consulta genérica.
*
* @property value - Código/id de la opción (equivalente a lo que apunta `keyCodigo` en app-input);
* es lo que se compara contra el `[value]` del componente para saber cuál está seleccionada
* @property label - Texto visible del badge (equivalente a lo que apunta `keyDescri` en app-input)
* @property color - Clase de color de Bootstrap para esta opción puntual (override del `color` del componente)
* @property bgColor - Color de fondo en hex para esta opción puntual (override de `color`, mismo criterio
* que `bgColor` en app-badge/app-badge-select)
* @property icon - Clase de ícono para esta opción puntual
* @property detail - Texto secundario mostrado en el ítem del dropdown (ej. una fecha u observación)
* @property detailIcon - Ícono de ese texto secundario (default: 'fa-clock' si se define `detail` sin ícono propio)
*/
export interface BadgeOption {
value: any;
label: string;
color?: string;
bgColor?: string;
icon?: string;
detail?: string;
detailIcon?: string;
}
/**
* Nuevo en este componente (label/color/size ya existían y se mantienen igual):
* si se pasa `lista`, el badge se vuelve clickable y abre un dropdown para cambiar
* el valor seleccionado (a menos que `disabled` esté activo) — más bgColor/icon/variante.
*
* Editable: ``.
*
* @Input bgColor - Color de fondo custom en hex (override de `color`); el texto se ajusta a blanco/negro según contraste
* @Input icon - Clase de ícono opcional antes del label
* @Input minWidth - Ancho mínimo en px
* @Input lista - BadgeOption[] para el dropdown de selección; si tiene ítems y `disabled` es
* false, el badge se vuelve clickable (mismo nombre/patrón que `lista` en app-input)
* @Input disabled - Desactiva el dropdown aunque `lista` tenga ítems (mismo patrón que en app-input)
* @Input value - Valor actual, comparado contra `option.value` de `lista` para resaltar el seleccionado
* @Input menuTitle - Título del dropdown editable (default: 'Cambiar')
* @Input variante - 'estandar' (compacto, radio 4px), 'modern' (radio 8px, sombra) o 'soft' (el look
* original de ng-support-tsi: pill 50rem, menú flotante grande)
* @Output select - Ítem elegido en el dropdown editable
*/
export declare class BadgeComponent {
label: import("@angular/core").InputSignal;
color: import("@angular/core").InputSignal;
bgColor: import("@angular/core").InputSignal;
size: import("@angular/core").InputSignal;
icon: import("@angular/core").InputSignal;
minWidth: import("@angular/core").InputSignal;
lista: import("@angular/core").InputSignal;
value: import("@angular/core").InputSignal;
disabled: import("@angular/core").InputSignal;
menuTitle: import("@angular/core").InputSignal;
/** 'estandar' (compacto, radio 4px), 'modern' (radio 8px, sombra) o 'soft' (el
* look original de ng-support-tsi: pill 50rem, menú flotante grande). */
variante: import("@angular/core").InputSignal<"estandar" | "modern" | "soft">;
select: import("@angular/core").OutputEmitterRef;
protected readonly canOpen: import("@angular/core").Signal;
protected readonly hex: import("@angular/core").Signal;
protected readonly items: import("@angular/core").Signal<{
hex: string;
current: boolean;
value: any;
label: string;
color?: string;
bgColor?: string;
icon?: string;
detail?: string;
detailIcon?: string;
}[]>;
protected pick(option: BadgeOption): void;
private isSame;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}