import { IcBadgePositions, IcBadgeTypes, IcBadgeVariants } from "./ic-badge.types";
import { IcSizes, IcColor, IcThemeMode } from "../../utils/types";
/**
 * @slot badge-icon - Icon will be rendered inside the badge if type is set to icon.
 */
export declare class Badge {
    private ariaLabel;
    private foregroundColour;
    private parentAriaLabel;
    private initialPosition;
    el: HTMLIcBadgeElement;
    /**
     * The accessible label of the badge component to provide context for screen reader users.
     */
    accessibleLabel?: string;
    accessibleLabelHandler(): void;
    /**
     * The custom badge colour. This will only style the badge component if variant="custom".
     * Can be a hex value e.g. "#ff0000", RGB e.g. "rgb(255, 0, 0)", or RGBA e.g. "rgba(255, 0, 0, 1)".
     */
    customColor?: IcColor;
    customColorHandler(): void;
    /**
     * The maximum number shown on the badge appended with a +.
     * This will only be displayed if type="text" and label is not empty.
     */
    maxNumber?: number;
    /**
     * The positioning of the badge in reference to the parent element.
     */
    position?: IcBadgePositions;
    /**
     * The size of the badge to be displayed.
     */
    size?: IcSizes;
    /**
     * The text displayed in the badge. This will only be displayed if type="text".
     */
    label?: string;
    /**
     * Sets the theme color to the dark or light theme color. "inherit" will set the color based on the system settings or ic-theme component.
     */
    theme?: IcThemeMode;
    /**
     * The type of badge to be displayed.
     */
    type?: IcBadgeTypes;
    /**
     * The variant of the badge to be displayed.
     */
    variant?: IcBadgeVariants;
    variantHandler(): void;
    /**
     * If `true`, the badge will be displayed.
     */
    visible?: boolean;
    visibleHandler(): void;
    componentWillLoad(): void;
    componentDidLoad(): void;
    componentWillRender(): void;
    navBarMenuOpenHandler(): void;
    navBarMenuCloseHandler(): void;
    private setBadgeColour;
    private getLabel;
    private setAccessibleLabel;
    private setPositionInTopNavigation;
    private setPositionInSideNavigation;
    private isInTopNav;
    private isInSideNav;
    private isInMobileMode;
    private isInNavigationItem;
    private isAccessibleLabelDefined;
    render(): any;
}
