/**
 *
 * carbon-angular v0.0.0 | icon.directive.d.ts
 *
 * Copyright 2014, 2026 IBM
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0

 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


import { AfterViewInit, ElementRef, OnChanges, SimpleChanges } from "@angular/core";
import { IconService } from "./icon.service";
import * as i0 from "@angular/core";
/**
 * A directive for populating a svg element based on the provided carbon icon name.
 *
 * Get started with importing the module:
 *
 * ```typescript
 * import { IconModule } from 'carbon-components-angular';
 * ```
 *
 * [See demo](../../?path=/story/components-icon--basic)
 */
export declare class IconDirective implements AfterViewInit, OnChanges {
    protected elementRef: ElementRef;
    protected iconService: IconService;
    /**
     * @deprecated since v5 - Use `cdsIcon` input property instead
     */
    set ibmIcon(iconName: string);
    static titleIdCounter: number;
    cdsIcon: string;
    size: string;
    title: string;
    ariaLabel: string;
    ariaLabelledBy: string;
    ariaHidden: string;
    isFocusable: boolean;
    constructor(elementRef: ElementRef, iconService: IconService);
    renderIcon(iconName: string): void;
    ngAfterViewInit(): void;
    ngOnChanges({ cdsIcon }: SimpleChanges): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<IconDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IconDirective, "[cdsIcon], [ibmIcon]", never, { "ibmIcon": "ibmIcon"; "cdsIcon": "cdsIcon"; "size": "size"; "title": "title"; "ariaLabel": "ariaLabel"; "ariaLabelledBy": "ariaLabelledBy"; "ariaHidden": "ariaHidden"; "isFocusable": "isFocusable"; }, {}, never, never, false>;
}
