import { ElementRef, OnDestroy, OnInit, TemplateRef } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { DropdownMultiselectConfig } from './dropdown-multiselect.models';
import { DropdownOption } from '../dropdown-select/dropdown-select.models';
import { DropdownVariant } from '../../types/dropdown-variant.type';
import { ComponentSize } from '../../types/sizing.type';
import * as i0 from "@angular/core";
export declare class KcDropdownMultiselectComponent implements ControlValueAccessor, OnInit, OnDestroy {
    private readonly destroy$;
    private readonly overlay;
    private readonly responsiveService;
    options: import("@angular/core").InputSignal<DropdownOption[]>;
    placeholder: import("@angular/core").InputSignal<string>;
    size: import("@angular/core").InputSignal<ComponentSize>;
    variant: import("@angular/core").InputSignal<DropdownVariant>;
    isFullWidth: import("@angular/core").InputSignal<boolean>;
    isDisabled: import("@angular/core").InputSignal<boolean>;
    optionsEllipsis: import("@angular/core").InputSignal<boolean>;
    isFullscreenSelection: import("@angular/core").InputSignal<boolean>;
    useContentWidth: import("@angular/core").InputSignal<boolean>;
    maxWidth: import("@angular/core").InputSignal<string | null>;
    icon: import("@angular/core").InputSignal<string>;
    showToggleIcon: import("@angular/core").InputSignal<boolean>;
    config: import("@angular/core").InputSignal<DropdownMultiselectConfig>;
    selectionCountText: import("@angular/core").InputSignal<string>;
    isSearchable: import("@angular/core").InputSignal<boolean>;
    searchField: import("@angular/core").InputSignal<string>;
    optionTemplate: TemplateRef<any> | null;
    prefixTemplateRef: TemplateRef<any> | null;
    emptyStateTemplateRef: TemplateRef<any> | null;
    valueChange: import("@angular/core").OutputEmitterRef<any[]>;
    searchChange: import("@angular/core").OutputEmitterRef<string>;
    clearAll: import("@angular/core").OutputEmitterRef<void>;
    dropdownTrigger: ElementRef;
    isOpen: boolean;
    selectedValues: import("@angular/core").WritableSignal<any[]>;
    private overlayRef;
    private onChange;
    private onTouched;
    private _internalDisabled;
    ngOnInit(): void;
    isComponentDisabled(): boolean;
    isMaxSelectionsReached(): boolean;
    getDisplayValue(): string;
    getTypographyClass(): string;
    toggleDropdown(): void;
    openDropdown(): void;
    private openRegularDropdown;
    private openFullscreenDropdown;
    private attachOptionsComponent;
    clearAllSelections(): void;
    closeDropdown(): void;
    toggleOption(option: DropdownOption): void;
    setValues(values: any[]): void;
    writeValue(values: any[]): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(isDisabled: boolean): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<KcDropdownMultiselectComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KcDropdownMultiselectComponent, "kc-dropdown-multiselect", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "isFullWidth": { "alias": "isFullWidth"; "required": false; "isSignal": true; }; "isDisabled": { "alias": "isDisabled"; "required": false; "isSignal": true; }; "optionsEllipsis": { "alias": "optionsEllipsis"; "required": false; "isSignal": true; }; "isFullscreenSelection": { "alias": "isFullscreenSelection"; "required": false; "isSignal": true; }; "useContentWidth": { "alias": "useContentWidth"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "showToggleIcon": { "alias": "showToggleIcon"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "selectionCountText": { "alias": "selectionCountText"; "required": false; "isSignal": true; }; "isSearchable": { "alias": "isSearchable"; "required": false; "isSignal": true; }; "searchField": { "alias": "searchField"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "searchChange": "searchChange"; "clearAll": "clearAll"; }, ["optionTemplate", "prefixTemplateRef", "emptyStateTemplateRef"], never, true, never>;
}
//# sourceMappingURL=dropdown-multiselect.component.d.ts.map