import { Icon } from '../../interfaces/paginable-table-header';
import * as i0 from "@angular/core";
/**
 * Defines the supported icon types.
 * @typedef {'font-awesome' | 'material' | 'bootstrap'} IconType
 */
export type IconType = 'font-awesome' | 'material' | 'bootstrap';
/**
 * @component HubIconComponent
 * @selector hub-icon
 * @description A versatile icon component that supports multiple icon libraries.
 *
 * @example
 * <hub-icon [config]="iconConfig"></hub-icon>
 */
export declare class HubIconComponent implements Icon {
    /**
     * @input config
     * @description Sets the icon configuration. Can be a string or an Icon object.
     * @type {string | Icon}
     */
    set config(value: string | Icon | undefined);
    /**
     * @input type
     * @description The type of icon (font-awesome, material, or bootstrap).
     * @type {IconType}
     */
    type: IconType;
    /**
     * @input value
     * @description The icon value or class name.
     * @type {string}
     */
    value: string;
    /**
     * @input variant
     * @description The variant of the icon (if applicable).
     * @type {string}
     */
    variant: string;
    /**
     * @getter classlist
     * @description Computes the CSS classes for the icon based on its type and value.
     * @returns {string | null} The computed CSS class string or null if no value is set.
     */
    get classlist(): string | null;
    /**
     * @getter content
     * @description Gets the content for material icons.
     * @returns {string | null} The icon content for material icons, or null for other types.
     */
    get content(): string | null;
    static ɵfac: i0.ɵɵFactoryDeclaration<HubIconComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<HubIconComponent, "hub-icon, ng-hub-ui-icon", never, { "config": { "alias": "config"; "required": true; }; }, {}, never, never, true, never>;
}
