import * as _angular_core from '@angular/core';
import { BaseComponent } from 'primeng/basecomponent';
import * as i1 from 'primeng/bind';
import { Bind } from 'primeng/bind';
import { BadgePassThrough, BadgeSize, BadgeSeverity } from 'primeng/types/badge';
import { BaseStyle } from 'primeng/base';
import * as i2 from 'primeng/api';

/**
 *
 * Badge represents people using icons, labels and images.
 *
 * [Live Demo](https://www.primeng.org/badge)
 *
 * @module badgestyle
 *
 */
declare enum BadgeClasses {
    /**
     * Class name of the root element
     */
    root = "p-badge"
}
declare class BadgeStyle extends BaseStyle {
    name: string;
    style: string;
    classes: {
        root: ({ instance }: {
            instance: any;
        }) => (string | {
            'p-badge-circle': boolean;
            'p-badge-dot': boolean;
            'p-badge-sm': boolean;
            'p-badge-lg': boolean;
            'p-badge-xl': boolean;
            'p-badge-info': boolean;
            'p-badge-success': boolean;
            'p-badge-warn': boolean;
            'p-badge-danger': boolean;
            'p-badge-secondary': boolean;
            'p-badge-contrast': boolean;
        })[];
    };
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<BadgeStyle, never>;
    static ɵprov: _angular_core.ɵɵInjectableDeclaration<BadgeStyle>;
}
interface BadgeStyle extends BaseStyle {
}

/**
 * Badge is a small status indicator for another element.
 * @group Components
 */
declare class Badge extends BaseComponent<BadgePassThrough> {
    componentName: string;
    $pcBadge: Badge | undefined;
    bindDirectiveInstance: Bind;
    onAfterViewChecked(): void;
    /**
     * Size of the badge, valid options are "large" and "xlarge".
     * @group Props
     */
    badgeSize: _angular_core.InputSignal<BadgeSize | undefined>;
    /**
     * Size of the badge, valid options are "large" and "xlarge".
     * @group Props
     */
    size: _angular_core.InputSignal<BadgeSize | undefined>;
    /**
     * Severity type of the badge.
     * @group Props
     */
    severity: _angular_core.InputSignal<BadgeSeverity | undefined>;
    /**
     * Value to display inside the badge.
     * @group Props
     */
    value: _angular_core.InputSignal<string | number | null | undefined>;
    /**
     * When specified, disables the component.
     * @group Props
     */
    badgeDisabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
    _componentStyle: BadgeStyle;
    displayStyle: _angular_core.Signal<"none" | null>;
    dataP: _angular_core.Signal<string>;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<Badge, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<Badge, "p-badge", never, { "badgeSize": { "alias": "badgeSize"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "badgeDisabled": { "alias": "badgeDisabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.Bind; inputs: {}; outputs: {}; }]>;
}
declare class BadgeModule {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<BadgeModule, never>;
    static ɵmod: _angular_core.ɵɵNgModuleDeclaration<BadgeModule, never, [typeof Badge, typeof i2.SharedModule], [typeof Badge, typeof i2.SharedModule]>;
    static ɵinj: _angular_core.ɵɵInjectorDeclaration<BadgeModule>;
}

export { Badge, BadgeClasses, BadgeModule, BadgeStyle };
