import { NxIconOrName, NxIcons } from 'nx-icons';
import { BaseComponent } from '../base-component';
import * as i0 from "@angular/core";
import * as i1 from "./nx-apply-action-classes-target.directive";
type SvgColor = {
    stroke: string | null;
    fill: string | null;
};
type SvgColors = {
    primary: SvgColor;
    secondary: SvgColor;
    third: SvgColor;
};
type PartialSvgColors = SvgColors | Pick<SvgColors, 'primary'> | Pick<SvgColors, 'secondary'> | Pick<SvgColors, 'third'> | undefined;
/**
 * Most likely will only be used internally
 */
export declare class NxIconComponent extends BaseComponent {
    static ensureStyleMapping: (() => Promise<string[]>) & import("lodash").MemoizedFunction;
    /**
     * Name or reference to icon definition.
     */
    icon: import("@angular/core").InputSignal<NxIconOrName>;
    /**
     * Preserve inline styles from svg (won't remove fill/stroke).
     *
     * Mostly for internal testing.
     */
    preserveInline: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
    /**
     * Preserve size (sizing styles applied to the nx-icon component won't be applied to svg).
     *
     * Probably mostly for testing, not sure if there are a lot of cases where we want to use the
     * size defined in the svg.
     */
    preserveSize: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
    /**
     * Override the color defined within the icon.
     */
    colorOverrides: import("@angular/core").InputSignal<PartialSvgColors>;
    /**
     * Use Current Color for primary stroke/fill.
     */
    useCurrentColor: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
    protected resolvedIcon: import("@angular/core").Signal<NxIcons | undefined>;
    iconWithTransforms: import("@angular/core").Signal<string | false>;
    protected updateStoryBookThemeEffect: import("@angular/core").EffectRef;
    protected updateIconEffect: import("@angular/core").EffectRef;
    protected declareClassesEffect: import("@angular/core").EffectRef;
    constructor();
    static ɵfac: i0.ɵɵFactoryDeclaration<NxIconComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NxIconComponent, "nx-icon", never, { "icon": { "alias": "icon"; "required": true; "isSignal": true; }; "preserveInline": { "alias": "preserveInline"; "required": false; "isSignal": true; }; "preserveSize": { "alias": "preserveSize"; "required": false; "isSignal": true; }; "colorOverrides": { "alias": "colorOverrides"; "required": false; "isSignal": true; }; "useCurrentColor": { "alias": "useCurrentColor"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.NxApplyActionTargetDirective; inputs: { "nxActionClassesTarget": "nxActionClassesTarget"; }; outputs: {}; }]>;
}
export {};
