import { EventEmitter } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { IconSelectorService } from '../icon-selector.service';
import { GainsightService } from '@c8y/ngx-components';
import * as i0 from "@angular/core";
/**
 * A component which acts as a wrapper for the icon selector.
 *
 * Example 1:
 * ```
    <c8y-icon-selector-wrapper
        [selectedIcon]="'water'"
        (onSelect)="selectIcon($event)"
    ></c8y-icon-selector-wrapper>
 * ```
 * OR as a part of a formGroup
 * Example 2:
 * ```
    <c8y-icon-selector-wrapper name="icon" formControlName="icon">
    </c8y-icon-selector-wrapper>
 * ```
 */
export declare class IconSelectorWrapperComponent implements ControlValueAccessor {
    private iconSelector;
    private gainsightService;
    canRemoveIcon: boolean;
    selectedIcon: string;
    /**
     * The displayed icon size, the value has to be multiple of 8.
     */
    iconSize: number;
    onSelect: EventEmitter<string>;
    /**
     * @ignore
     */
    onTouched: () => void;
    constructor(iconSelector: IconSelectorService, gainsightService: GainsightService);
    /**
     * @ignore
     */
    onChange: (value: string) => void;
    /**
     * @ignore
     * @param icon The value to update
     */
    writeValue(icon: string): void;
    /**
     * @ignore
     * @param fn The function to register for changes
     */
    registerOnChange(fn: () => void): void;
    /**
     * @ignore
     * @param fn The function to register for changes
     */
    registerOnTouched(fn: () => void): void;
    removeIcon(): void;
    openIconSelector(): Promise<void>;
    static ɵfac: i0.ɵɵFactoryDeclaration<IconSelectorWrapperComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IconSelectorWrapperComponent, "c8y-icon-selector-wrapper", never, { "canRemoveIcon": { "alias": "canRemoveIcon"; "required": false; }; "selectedIcon": { "alias": "selectedIcon"; "required": false; }; "iconSize": { "alias": "iconSize"; "required": false; }; }, { "onSelect": "onSelect"; }, never, never, false, never>;
}
//# sourceMappingURL=icon-selector-wrapper.component.d.ts.map