import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, Injector, OnDestroy, OnInit, Renderer2, TemplateRef } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { ChipFilterComponentConfigurations, ChipFilterMode, ChipIcon, ChipType } from './chip-filter-component-configurations';
import { ApiBase } from '@ironsource/fusion-ui/components/api-base';
import { ChipFilterTestIdModifiers } from '@ironsource/fusion-ui/entities';
import { TestIdsService } from '@ironsource/fusion-ui/services/test-ids';
import * as i0 from "@angular/core";
export declare abstract class ChipFilterBaseComponent implements OnInit, AfterViewInit, OnDestroy, AfterContentInit {
    /** @internal */
    element: ElementRef;
    private renderer;
    private cdr;
    private injector;
    /** @internal */
    testId: string;
    /** @internal */
    apiBase: ApiBase;
    /** @internal */
    ref: TemplateRef<any>;
    /** @internal */
    id: number | string;
    /** @internal */
    chipType$: BehaviorSubject<ChipType>;
    /** @internal */
    isCloseIcon$: BehaviorSubject<boolean>;
    /** @internal */
    defaultContent: TemplateRef<any>;
    /** @internal */
    isDefaultContent: boolean;
    /** @internal */
    leftIcon: ChipIcon;
    /** @internal */
    rightIcon: ChipIcon;
    /** @internal */
    isRoleButton: boolean;
    /** @internal */
    placeholderChipV4Mode: boolean;
    /** @internal */
    testIdChipFilterModifiers: typeof ChipFilterTestIdModifiers;
    /** @internal */
    testIdsService: TestIdsService;
    private onDestroy$;
    private restListeners$;
    private clearClickSubscription$;
    private isChipSelected;
    private chipMode;
    private _disabled$;
    private chipSelectValue;
    private _maxWidth;
    set configuration(value: ChipFilterComponentConfigurations);
    /** @internal */
    set isSelected(value: boolean);
    /** @internal */
    set isDynamicContent(value: boolean);
    get testAttribute(): string;
    /**
     * On dynamic filter close button clicked (filter removed)
     * @ignore
     * */
    chipRemove: EventEmitter<any>;
    selectedChange: EventEmitter<any>;
    set maxWidth(width: number);
    get maxWidth(): number;
    set close(close: boolean);
    get close(): boolean;
    set disabled(disabled: boolean);
    get disabled(): boolean;
    set mode(chipMode: ChipFilterMode);
    get mode(): ChipFilterMode;
    set selected(selected: boolean);
    get selected(): boolean;
    /**
     * used for chip filter removed (not for consumer)
     * @internal
     */
    onRemove: EventEmitter<any>;
    constructor(
    /** @internal */
    element: ElementRef, renderer: Renderer2, cdr: ChangeDetectorRef, injector: Injector);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngAfterContentInit(): void;
    ngOnDestroy(): void;
    /** @internal */
    closeClicked($event: any): void;
    private setValueSelectedListener;
    private setClickListener;
    private setChipType;
    private setChipSelectType;
    private changeHostClass;
    static ɵfac: i0.ɵɵFactoryDeclaration<ChipFilterBaseComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ChipFilterBaseComponent, never, never, { "testId": { "alias": "testId"; "required": false; }; "configuration": { "alias": "configuration"; "required": false; }; "isSelected": { "alias": "isSelected"; "required": false; }; "isDynamicContent": { "alias": "isDynamicContent"; "required": false; }; }, { "chipRemove": "chipRemove"; "selectedChange": "selectedChange"; }, ["apiBase"], never, false, never>;
}
