import { EventEmitter, OnChanges } from '@angular/core';
import { FudisTranslationService } from '../../../../../services/translation/translation.service';
import { FudisSelectVariant } from '../../../../../types/forms';
import { FormControl } from '@angular/forms';
import { BehaviorSubject } from 'rxjs';
import { FudisComponentChanges } from '../../../../../types/miscellaneous';
import * as i0 from "@angular/core";
export declare class SelectIconsComponent implements OnChanges {
    protected _translationService: FudisTranslationService;
    constructor(_translationService: FudisTranslationService);
    /**
     * If Select's dropdown is open
     */
    dropdownOpen: boolean | null;
    /**
     * Parent Select's variant
     */
    parentVariant: FudisSelectVariant;
    /**
     * Show / hide clear button
     */
    clearButton: boolean;
    /**
     * If clear button is disabled
     */
    disabled: boolean;
    /**
     * Autocomplete's filter text
     */
    filterText: boolean;
    /**
     * Parent Select's form control
     */
    parentControl: FormControl;
    /**
     * Id of parent Select
     */
    parentId: string;
    /**
     * Output event for Clear Button click
     */
    handleClearButtonClick: EventEmitter<Event>;
    /**
     * Output event for Clear Button focus
     */
    handleClearButtonFocus: EventEmitter<FocusEvent>;
    /**
     * Output event for Clear Button blur
     */
    handleClearButtonBlur: EventEmitter<FocusEvent>;
    /**
     * Output event for Clear Button destroy
     */
    handleClearButtonDestroy: EventEmitter<void>;
    /**
     * Observable for status if parent control has value
     */
    protected _controlValue: BehaviorSubject<boolean>;
    /**
     * Translated aria-label for autocomplete close icon button which clears the input
     */
    protected _translationClearFilterText: BehaviorSubject<string>;
    /**
     * Subscription for handling the valueChanges observable
     */
    private _subscription;
    private _destroyRef;
    /**
     * Click handler for Clear Button
     */
    protected _clearButtonClick(event: Event): void;
    /**
     * Focus handler for Clear Button
     */
    protected _handleClearButtonFocus(event: FocusEvent): void;
    /**
     * Blur handler for Clear Button
     */
    protected _handleClearButtonBlur(event: FocusEvent): void;
    ngOnChanges(changes: FudisComponentChanges<SelectIconsComponent>): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SelectIconsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SelectIconsComponent, "fudis-select-icons", never, { "dropdownOpen": { "alias": "dropdownOpen"; "required": false; }; "parentVariant": { "alias": "parentVariant"; "required": false; }; "clearButton": { "alias": "clearButton"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "filterText": { "alias": "filterText"; "required": false; }; "parentControl": { "alias": "parentControl"; "required": false; }; "parentId": { "alias": "parentId"; "required": false; }; }, { "handleClearButtonClick": "handleClearButtonClick"; "handleClearButtonFocus": "handleClearButtonFocus"; "handleClearButtonBlur": "handleClearButtonBlur"; "handleClearButtonDestroy": "handleClearButtonDestroy"; }, never, never, false, never>;
}
