import type { BadgeClass, BadgeColors, BadgeSizes } from './badge.theme';
import { BadgeThemeService } from './badge.theme.service';
import { BaseComponent } from 'flowbite-angular';
import { IconRegistry } from 'flowbite-angular/icon';
import { FlowbiteRouterLinkDirective } from 'flowbite-angular/router-link';
import { InjectionToken } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
import * as i0 from "@angular/core";
export declare const FLOWBITE_BADGE_COLOR_DEFAULT_VALUE: InjectionToken<keyof BadgeColors>;
export declare const FLOWBITE_BADGE_HAS_BORDER_DEFAULT_VALUE: InjectionToken<boolean>;
export declare const FLOWBITE_BADGE_SIZE_DEFAULT_VALUE: InjectionToken<keyof BadgeSizes>;
export declare const FLOWBITE_BADGE_IS_ICON_ONLY_DEFAULT_VALUE: InjectionToken<boolean>;
export declare const FLOWBITE_BADGE_IS_PILL_DEFAULT_VALUE: InjectionToken<boolean>;
export declare const FLOWBITE_BADGE_CUSTOM_STYLE_DEFAULT_VALUE: InjectionToken<{
    root?: {
        base?: string | undefined;
        hasBorder?: {
            enabled?: string | undefined;
            disabled?: string | undefined;
        } | undefined;
        color?: {
            [x: string]: string | undefined;
            primary?: string | undefined;
            dark?: string | undefined;
            blue?: string | undefined;
            red?: string | undefined;
            green?: string | undefined;
            yellow?: string | undefined;
            indigo?: string | undefined;
            purple?: string | undefined;
            pink?: string | undefined;
        } | undefined;
        size?: {
            [x: string]: string | undefined;
            xs?: string | undefined;
            sm?: string | undefined;
        } | undefined;
        isPill?: {
            enabled?: string | undefined;
            disabled?: string | undefined;
        } | undefined;
        isIconOnly?: {
            enabled?: string | undefined;
            disabled?: string | undefined;
        } | undefined;
        link?: {
            enabled?: string | undefined;
            disabled?: string | undefined;
        } | undefined;
    } | undefined;
    closeButton?: {
        base?: string | undefined;
        color?: {
            [x: string]: string | undefined;
            primary?: string | undefined;
            dark?: string | undefined;
            blue?: string | undefined;
            red?: string | undefined;
            green?: string | undefined;
            yellow?: string | undefined;
            indigo?: string | undefined;
            purple?: string | undefined;
            pink?: string | undefined;
        } | undefined;
    } | undefined;
}>;
export declare const FLOWBITE_BADGE_IS_DISMISSABLE_DEFAULT_VALUE: InjectionToken<boolean>;
export declare const FLOWBITE_BADGE_ON_DISMISS_DEFAULT_VALUE: InjectionToken<(() => void) | undefined>;
export declare const badgeDefaultValueProvider: import("@angular/core").EnvironmentProviders;
/**
 * @see https://flowbite.com/docs/components/badge/
 */
export declare class BadgeComponent extends BaseComponent<BadgeClass> {
    /**
     * Optional `FlowbiteRouterLinkDirective` injected
     */
    readonly flowbiteRouterLink: FlowbiteRouterLinkDirective | null;
    /**
     * Service injected used to generate class
     */
    readonly themeService: BadgeThemeService;
    /**
     * `IcoRegistry` service
     */
    readonly iconRegistry: IconRegistry;
    /**
     * `DomSanitizer` service
     */
    readonly domSanitizer: DomSanitizer;
    /**
     * Set the badge color
     *
     * @default primary
     */
    color: import("@angular/core").ModelSignal<keyof BadgeColors>;
    /**
     * Set if the badge has border
     *
     * @default false
     */
    hasBorder: import("@angular/core").ModelSignal<boolean>;
    /**
     * Set the badge size
     *
     * @default xs
     */
    size: import("@angular/core").ModelSignal<keyof BadgeSizes>;
    /**
     * Set if the badge is icon only
     *
     * @default false
     */
    isIconOnly: import("@angular/core").ModelSignal<boolean>;
    /**
     * Set if the badge is pill
     *
     * @default false
     */
    isPill: import("@angular/core").ModelSignal<boolean>;
    /**
     * Set the custom style for this badge
     */
    customStyle: import("@angular/core").ModelSignal<{
        root?: {
            base?: string | undefined;
            hasBorder?: {
                enabled?: string | undefined;
                disabled?: string | undefined;
            } | undefined;
            color?: {
                [x: string]: string | undefined;
                primary?: string | undefined;
                dark?: string | undefined;
                blue?: string | undefined;
                red?: string | undefined;
                green?: string | undefined;
                yellow?: string | undefined;
                indigo?: string | undefined;
                purple?: string | undefined;
                pink?: string | undefined;
            } | undefined;
            size?: {
                [x: string]: string | undefined;
                xs?: string | undefined;
                sm?: string | undefined;
            } | undefined;
            isPill?: {
                enabled?: string | undefined;
                disabled?: string | undefined;
            } | undefined;
            isIconOnly?: {
                enabled?: string | undefined;
                disabled?: string | undefined;
            } | undefined;
            link?: {
                enabled?: string | undefined;
                disabled?: string | undefined;
            } | undefined;
        } | undefined;
        closeButton?: {
            base?: string | undefined;
            color?: {
                [x: string]: string | undefined;
                primary?: string | undefined;
                dark?: string | undefined;
                blue?: string | undefined;
                red?: string | undefined;
                green?: string | undefined;
                yellow?: string | undefined;
                indigo?: string | undefined;
                purple?: string | undefined;
                pink?: string | undefined;
            } | undefined;
        } | undefined;
    }>;
    /**
     * Set if the badge is dismissable
     *
     * @default false
     */
    isDismissable: import("@angular/core").ModelSignal<boolean>;
    /**
     * Set the function called when the badge is dismissed
     *
     * @default undefined
     */
    onDismiss: import("@angular/core").ModelSignal<(() => void) | undefined>;
    fetchClass(): BadgeClass;
    init(): void;
    /**
     * Call the onDismiss function if it's not undefined
     */
    onDismissClick(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BadgeComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BadgeComponent, "flowbite-badge", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "hasBorder": { "alias": "hasBorder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "isIconOnly": { "alias": "isIconOnly"; "required": false; "isSignal": true; }; "isPill": { "alias": "isPill"; "required": false; "isSignal": true; }; "customStyle": { "alias": "customStyle"; "required": false; "isSignal": true; }; "isDismissable": { "alias": "isDismissable"; "required": false; "isSignal": true; }; "onDismiss": { "alias": "onDismiss"; "required": false; "isSignal": true; }; }, { "color": "colorChange"; "hasBorder": "hasBorderChange"; "size": "sizeChange"; "isIconOnly": "isIconOnlyChange"; "isPill": "isPillChange"; "customStyle": "customStyleChange"; "isDismissable": "isDismissableChange"; "onDismiss": "onDismissChange"; }, never, ["*"], true, never>;
}
