import * as _angular_core from '@angular/core';
import { EventEmitter } from '@angular/core';
import { Color, Size } from '@sdcorejs/utils/models';
import { MaterialIconFontSet } from '@sdcorejs/angular/utilities/models';

type SdBadgeType = 'tag' | 'round' | 'icon';
declare class SdBadge {
    defaultIcon: string;
    type: _angular_core.InputSignalWithTransform<SdBadgeType, SdBadgeType | null | undefined>;
    color: _angular_core.InputSignalWithTransform<Color, Color | null | undefined>;
    primary: _angular_core.InputSignalWithTransform<boolean, unknown>;
    secondary: _angular_core.InputSignalWithTransform<boolean, unknown>;
    success: _angular_core.InputSignalWithTransform<boolean, unknown>;
    info: _angular_core.InputSignalWithTransform<boolean, unknown>;
    warning: _angular_core.InputSignalWithTransform<boolean, unknown>;
    error: _angular_core.InputSignalWithTransform<boolean, unknown>;
    fontSet: _angular_core.InputSignalWithTransform<MaterialIconFontSet, MaterialIconFontSet | null | undefined>;
    title: _angular_core.InputSignal<string | number | null | undefined>;
    description: _angular_core.InputSignal<string | null | undefined>;
    tooltip: _angular_core.InputSignal<string | null | undefined>;
    icon: _angular_core.InputSignal<string | null | undefined>;
    size: _angular_core.InputSignalWithTransform<Size, Size | null | undefined>;
    click: EventEmitter<Event>;
    onClick: (event: Event) => void;
    effectiveColor: _angular_core.Signal<Color>;
    baseColorClasses: _angular_core.Signal<{
        'c-primary': boolean;
        'c-secondary': boolean;
        'c-info': boolean;
        'c-success': boolean;
        'c-warning': boolean;
        'c-error': boolean;
    }>;
    iconColorClasses: _angular_core.Signal<{
        'c-primary': boolean;
        'c-black400': boolean;
        'c-info': boolean;
        'c-success': boolean;
        'c-warning': boolean;
        'c-error': boolean;
    }>;
    iconSizeAndFontClasses: _angular_core.Signal<{
        'c-sm': boolean;
        'c-md': boolean;
        'c-lg': boolean;
        'material-icons': boolean;
        'material-icons-outlined': boolean;
        'material-icons-round': boolean;
        'material-icons-sharp': boolean;
    }>;
    containerSizeClasses: _angular_core.Signal<{
        'c-badge--sm': boolean;
        'c-badge--md': boolean;
        'c-badge--lg': boolean;
    }>;
    tagIconCombinedClasses: _angular_core.Signal<{
        'c-primary': boolean;
        'c-secondary': boolean;
        'c-info': boolean;
        'c-success': boolean;
        'c-warning': boolean;
        'c-error': boolean;
        'c-sm': boolean;
        'c-md': boolean;
        'c-lg': boolean;
        'material-icons': boolean;
        'material-icons-outlined': boolean;
        'material-icons-round': boolean;
        'material-icons-sharp': boolean;
    }>;
    containerCombinedClasses: _angular_core.Signal<{
        'c-badge--sm': boolean;
        'c-badge--md': boolean;
        'c-badge--lg': boolean;
        'c-primary': boolean;
        'c-secondary': boolean;
        'c-info': boolean;
        'c-success': boolean;
        'c-warning': boolean;
        'c-error': boolean;
    }>;
    iconCombinedClasses: _angular_core.Signal<{
        'c-primary': boolean;
        'c-black400': boolean;
        'c-info': boolean;
        'c-success': boolean;
        'c-warning': boolean;
        'c-error': boolean;
        'c-sm': boolean;
        'c-md': boolean;
        'c-lg': boolean;
        'material-icons': boolean;
        'material-icons-outlined': boolean;
        'material-icons-round': boolean;
        'material-icons-sharp': boolean;
    }>;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdBadge, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdBadge, "sd-badge", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "primary": { "alias": "primary"; "required": false; "isSignal": true; }; "secondary": { "alias": "secondary"; "required": false; "isSignal": true; }; "success": { "alias": "success"; "required": false; "isSignal": true; }; "info": { "alias": "info"; "required": false; "isSignal": true; }; "warning": { "alias": "warning"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "fontSet": { "alias": "fontSet"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "click": "click"; }, never, never, true, never>;
}

export { SdBadge };
export type { SdBadgeType };
