import { DoCheck, ElementRef, EventEmitter, IterableDiffers, OnInit, Renderer2, TemplateRef } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { IonItem, ModalController, Platform } from '@ionic/angular';
import { AnimationBuilder } from '@ionic/core';
import { IonSelectableModalComponent } from './ion-selectable-modal.component';
import * as i0 from "@angular/core";
export declare class IonSelectableComponent implements ControlValueAccessor, OnInit, DoCheck {
    private _modalController;
    private _platform;
    private ionItem;
    private _iterableDiffers;
    private _element;
    private _renderer;
    _cssClass: boolean;
    _isIos: boolean;
    _isMD: boolean;
    get _isMultipleCssClass(): boolean;
    get _hasValueCssClass(): boolean;
    get _hasPlaceholderCssClass(): boolean;
    get _hasIonLabelCssClass(): boolean;
    get _hasDefaultIonLabelCssClass(): boolean;
    get _hasFixedIonLabelCssClass(): boolean;
    get _hasStackedIonLabelCssClass(): boolean;
    get _hasFloatingIonLabelCssClass(): boolean;
    private _isOnSearchEnabled;
    private _isEnabled;
    private _shouldBackdropClose;
    private _isOpened;
    private _value;
    private _modal;
    private _itemsDiffer;
    private _hasObjects;
    private _canClear;
    private _hasConfirmButton;
    private _isMultiple;
    private _canAddItem;
    private _addItemObservable;
    private _deleteItemObservable;
    private onItemsChange;
    private _ionItemElement;
    private _ionLabelElement;
    private _hasIonLabel;
    private _ionLabelPosition;
    private _label;
    private get _hasInfiniteScroll();
    get _shouldStoreItemValue(): boolean;
    _valueItems: any[];
    _searchText: string;
    _hasSearchText: boolean;
    _groups: any[];
    _itemsToConfirm: any[];
    _selectedItems: any[];
    _modalComponent: IonSelectableModalComponent;
    _filteredGroups: any[];
    _hasGroups: boolean;
    _isSearching: boolean;
    _hasPlaceholder: boolean;
    _isAddItemTemplateVisible: boolean;
    _isFooterVisible: boolean;
    _itemToAdd: any;
    _footerButtonsCount: number;
    _hasFilteredItems: boolean;
    /**
     * Text of [Ionic Label](https://ionicframework.com/docs/api/label).
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#label).
     *
     * @readonly
     * @default null
     * @memberof IonSelectableComponent
     */
    get label(): string;
    /**
     * Text that the user has typed in Searchbar.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#searchtext).
     *
     * @readonly
     * @default ''
     * @memberof IonSelectableComponent
     */
    get searchText(): string;
    set searchText(searchText: string);
    /**
     * Determines whether search is running.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#issearching).
     *
     * @default false
     * @readonly
     * @memberof IonSelectableComponent
     */
    get isSearching(): boolean;
    /**
     * Determines whether user has typed anything in Searchbar.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#hassearchtext).
     *
     * @default false
     * @readonly
     * @memberof IonSelectableComponent
     */
    get hasSearchText(): boolean;
    get value(): any;
    set value(value: any);
    /**
     * A list of items.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#items).
     *
     * @default []
     * @memberof IonSelectableComponent
     */
    items: any[];
    itemsChange: EventEmitter<any>;
    /**
     * Determines whether the component is enabled.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#isenabled).
     *
     * @default true
     * @memberof IonSelectableComponent
     */
    get isEnabled(): boolean;
    set isEnabled(isEnabled: boolean);
    /**
     * Determines whether Modal should be closed when backdrop is clicked.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#shouldbackdropclose).
     *
     * @default true
     * @memberof IonSelectableComponent
     */
    get shouldBackdropClose(): boolean;
    set shouldBackdropClose(shouldBackdropClose: boolean);
    /**
     * Modal CSS class.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#modalcssclass).
     *
     * @default null
     * @memberof IonSelectableComponent
     */
    modalCssClass: string;
    /**
     * Modal enter animation.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#modalenteranimation).
     *
     * @default null
     * @memberof IonSelectableComponent
     */
    modalEnterAnimation: AnimationBuilder;
    /**
     * Modal leave animation.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#modalleaveanimation).
     *
     * @default null
     * @memberof IonSelectableComponent
     */
    modalLeaveAnimation: AnimationBuilder;
    /**
     * Determines whether Modal is opened.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#isopened).
     *
     * @default false
     * @readonly
     * @memberof IonSelectableComponent
     */
    get isOpened(): boolean;
    /**
     * Determines whether Confirm button is enabled.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#isconfirmbuttonenabled).
     *
     * @default true
     * @memberof IonSelectableComponent
     */
    isConfirmButtonEnabled: boolean;
    /**
     * Determines whether Confirm button is visible for single selection.
     * By default Confirm button is visible only for multiple selection.
     * **Note**: It is always true for multiple selection and cannot be changed.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#hasconfirmbutton).
     *
     * @default true
     * @memberof IonSelectableComponent
     */
    get hasConfirmButton(): boolean;
    set hasConfirmButton(hasConfirmButton: boolean);
    /**
     * Item property to use as a unique identifier, e.g, `'id'`.
     * **Note**: `items` should be an object array.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#itemvaluefield).
     *
     * @default null
     * @memberof IonSelectableComponent
     */
    itemValueField: string;
    /**
     * Item property to display, e.g, `'name'`.
     * **Note**: `items` should be an object array.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#itemtextfield).
     *
     * @default false
     * @memberof IonSelectableComponent
     */
    itemTextField: string;
    /**
     *
     * Group property to use as a unique identifier to group items, e.g. `'country.id'`.
     * **Note**: `items` should be an object array.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#groupvaluefield).
     *
     * @default null
     * @memberof IonSelectableComponent
     */
    groupValueField: string;
    /**
     * Group property to display, e.g. `'country.name'`.
     * **Note**: `items` should be an object array.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#grouptextfield).
     *
     * @default null
     * @memberof IonSelectableComponent
     */
    groupTextField: string;
    /**
     * Determines whether to show Searchbar.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#cansearch).
     *
     * @default false
     * @memberof IonSelectableComponent
     */
    canSearch: boolean;
    /**
     * Determines whether `onSearch` event is enabled.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#isonsearchenabled).
     *
     * @default true
     * @memberof IonSelectableComponent
     */
    get isOnSearchEnabled(): boolean;
    set isOnSearchEnabled(isOnSearchEnabled: boolean);
    /**
     * Determines whether to show Clear button.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#canclear).
     *
     * @default false
     * @memberof IonSelectableComponent
     */
    get canClear(): boolean;
    set canClear(canClear: boolean);
    /**
     * Determines whether Ionic [InfiniteScroll](https://ionicframework.com/docs/api/components/infinite-scroll/InfiniteScroll/) is enabled.
     * **Note**: Infinite scroll cannot be used together with virtual scroll.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#hasinfinitescroll).
     *
     * @default false
     * @memberof IonSelectableComponent
     */
    hasInfiniteScroll: boolean;
    /**
     * Determines whether Ionic [VirtualScroll](https://ionicframework.com/docs/api/components/virtual-scroll/VirtualScroll/) is enabled.
     * **Note**: Virtual scroll cannot be used together with infinite scroll.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#hasvirtualscroll).
     *
     * @default false
     * @memberof IonSelectableComponent
     */
    hasVirtualScroll: boolean;
    /**
     * See Ionic VirtualScroll [approxItemHeight](https://ionicframework.com/docs/api/components/virtual-scroll/VirtualScroll/).
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#virtualscrollapproxitemheight).
     *
     * @default '40px'
     * @memberof IonSelectableComponent
     */
    virtualScrollApproxItemHeight: string;
    /**
     * A placeholder for Searchbar.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#searchplaceholder).
     *
     * @default 'Search'
     * @memberof IonSelectableComponent
     */
    searchPlaceholder: string;
    /**
     * A placeholder.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#placeholder).
     *
     * @default null
     * @memberof IonSelectableComponent
     */
    placeholder: string;
    /**
     * Determines whether multiple items can be selected.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#ismultiple).
     *
     * @default false
     * @memberof IonSelectableComponent
     */
    get isMultiple(): boolean;
    set isMultiple(isMultiple: boolean);
    /**
     * Text to display when no items have been found during search.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#searchfailtext).
     *
     * @default 'No items found.'
     * @memberof IonSelectableComponent
     */
    searchFailText: string;
    /**
     * Clear button text.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#clearbuttontext).
     *
     * @default 'Clear'
     * @memberof IonSelectableComponent
     */
    clearButtonText: string;
    /**
     * Add button text.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#addbuttontext).
     *
     * @default 'Add'
     * @memberof IonSelectableComponent
     */
    addButtonText: string;
    /**
     * Confirm button text.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#confirmbuttontext).
     *
     * @default 'OK'
     * @memberof IonSelectableComponent
     */
    confirmButtonText: string;
    /**
     * Close button text.
     * The field is only applicable to **iOS** platform, on **Android** only Cross icon is displayed.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#closebuttontext).
     *
     * @default 'Cancel'
     * @memberof IonSelectableComponent
     */
    closeButtonText: string;
    /**
     * Determines whether Searchbar should receive focus when Modal is opened.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#shouldfocussearchbar).
     *
     * @default false
     * @memberof IonSelectableComponent
     */
    shouldFocusSearchbar: boolean;
    /**
     * Header color. [Ionic colors](https://ionicframework.com/docs/theming/advanced#colors) are supported.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#headercolor).
     *
     * @default null
     * @memberof IonSelectableComponent
     */
    headerColor: string;
    /**
     * Group color. [Ionic colors](https://ionicframework.com/docs/theming/advanced#colors) are supported.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#groupcolor).
     *
     * @default null
     * @memberof IonSelectableComponent
     */
    groupColor: string;
    /**
     * Close button slot. [Ionic slots](https://ionicframework.com/docs/api/buttons) are supported.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#closebuttonslot).
     *
     * @default 'start'
     * @memberof IonSelectableComponent
     */
    closeButtonSlot: string;
    /**
     * Item icon slot. [Ionic slots](https://ionicframework.com/docs/api/item) are supported.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#itemiconslot).
     *
     * @default 'start'
     * @memberof IonSelectableComponent
     */
    itemIconSlot: string;
    /**
     * Fires when item/s has been selected and Modal closed.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#onchange).
     *
     * @memberof IonSelectableComponent
     */
    onChange: EventEmitter<{
        component: IonSelectableComponent;
        value: any;
    }>;
    /**
     * Fires when the user is typing in Searchbar.
     * **Note**: `canSearch` and `isOnSearchEnabled` has to be enabled.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#onsearch).
     *
     * @memberof IonSelectableComponent
     */
    onSearch: EventEmitter<{
        component: IonSelectableComponent;
        text: string;
    }>;
    /**
     * Fires when no items have been found.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#onsearchfail).
     *
     * @memberof IonSelectableComponent
     */
    onSearchFail: EventEmitter<{
        component: IonSelectableComponent;
        text: string;
    }>;
    /**
     * Fires when some items have been found.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#onsearchsuccess).
     *
     * @memberof IonSelectableComponent
     */
    onSearchSuccess: EventEmitter<{
        component: IonSelectableComponent;
        text: string;
    }>;
    /**
     * Fires when the user has scrolled to the end of the list.
     * **Note**: `hasInfiniteScroll` has to be enabled.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#oninfinitescroll).
     *
     * @memberof IonSelectableComponent
     */
    onInfiniteScroll: EventEmitter<{
        component: IonSelectableComponent;
        text: string;
    }>;
    /**
     * Fires when Modal has been opened.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#onopen).
     *
     * @memberof IonSelectableComponent
     */
    onOpen: EventEmitter<{
        component: IonSelectableComponent;
    }>;
    /**
     * Fires when Modal has been closed.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#onclose).
     *
     * @memberof IonSelectableComponent
     */
    onClose: EventEmitter<{
        component: IonSelectableComponent;
    }>;
    /**
     * Fires when an item has been selected or unselected.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#onselect).
     *
     * @memberof IonSelectableComponent
     */
    onSelect: EventEmitter<{
        component: IonSelectableComponent;
        item: any;
        isSelected: boolean;
    }>;
    /**
     * Fires when Clear button has been clicked.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#onclear).
     *
     * @memberof IonSelectableComponent
     */
    onClear: EventEmitter<{
        component: IonSelectableComponent;
        items: any[];
    }>;
    /**
     * A list of items that are selected and awaiting confirmation by user, when he has clicked Confirm button.
     * After the user has clicked Confirm button items to confirm are cleared.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#itemstoconfirm).
     *
     * @default []
     * @readonly
     * @memberof IonSelectableComponent
     */
    get itemsToConfirm(): any[];
    /**
     * How long, in milliseconds, to wait to filter items or to trigger `onSearch` event after each keystroke.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#searchdebounce).
     *
     * @default 250
     * @memberof IonSelectableComponent
     */
    searchDebounce: number;
    /**
     * A list of items to disable.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#disableditems).
     *
     * @default []
     * @memberof IonSelectableComponent
     */
    disabledItems: any[];
    /**
     * Determines whether item value only should be stored in `ngModel`, not the entire item.
     * **Note**: Item value is defined by `itemValueField`.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#shouldstoreitemvalue).
     *
     * @default false
     * @memberof IonSelectableComponent
     */
    shouldStoreItemValue: boolean;
    /**
     * Determines whether to allow editing items.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#cansaveitem).
     *
     * @default false
     * @memberof IonSelectableComponent
     */
    canSaveItem: boolean;
    /**
     * Determines whether to allow deleting items.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#candeleteitem).
     *
     * @default false
     * @memberof IonSelectableComponent
     */
    canDeleteItem: boolean;
    /**
     * Determines whether to allow adding items.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#canadditem).
     *
     * @default false
     * @memberof IonSelectableComponent
     */
    get canAddItem(): boolean;
    set canAddItem(canAddItem: boolean);
    /**
     * Fires when Edit item button has been clicked.
     * When the button has been clicked `IonSelectableAddItemTemplate` will be shown. Use the template to create a form to edit item.
     * **Note**: `canSaveItem` has to be enabled.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#onsaveitem).
     *
     * @memberof IonSelectableComponent
     */
    onSaveItem: EventEmitter<{
        component: IonSelectableComponent;
        item: any;
    }>;
    /**
     * Fires when Delete item button has been clicked.
     * **Note**: `canDeleteItem` has to be enabled.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#ondeleteitem).
     *
     * @memberof IonSelectableComponent
     */
    onDeleteItem: EventEmitter<{
        component: IonSelectableComponent;
        item: any;
    }>;
    /**
     * Fires when Add item button has been clicked.
     * When the button has been clicked `IonSelectableAddItemTemplate` will be shown. Use the template to create a form to add item.
     * **Note**: `canAddItem` has to be enabled.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#onadditem).
     *
     * @memberof IonSelectableComponent
     */
    onAddItem: EventEmitter<{
        component: IonSelectableComponent;
    }>;
    valueTemplate: TemplateRef<any>;
    itemTemplate: TemplateRef<any>;
    itemEndTemplate: TemplateRef<any>;
    titleTemplate: TemplateRef<any>;
    placeholderTemplate: TemplateRef<any>;
    messageTemplate: TemplateRef<any>;
    groupTemplate: TemplateRef<any>;
    groupEndTemplate: TemplateRef<any>;
    closeButtonTemplate: TemplateRef<any>;
    searchFailTemplate: TemplateRef<any>;
    addItemTemplate: TemplateRef<any>;
    footerTemplate: TemplateRef<any>;
    _addItemTemplateFooterHeight: string;
    headerTemplate: TemplateRef<any>;
    itemIconTemplate: TemplateRef<any>;
    iconTemplate: TemplateRef<any>;
    /**
     * See Ionic VirtualScroll [headerFn](https://ionicframework.com/docs/api/components/virtual-scroll/VirtualScroll/).
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#virtualscrollheaderfn).
     *
     * @memberof IonSelectableComponent
     */
    virtualScrollHeaderFn: () => any;
    constructor(_modalController: ModalController, _platform: Platform, ionItem: IonItem, _iterableDiffers: IterableDiffers, _element: ElementRef, _renderer: Renderer2);
    initFocus(): void;
    enableIonItem(isEnabled: boolean): void;
    _isNullOrWhiteSpace(value: any): boolean;
    _setHasSearchText(): void;
    _hasOnSearch(): boolean;
    _hasOnSaveItem(): boolean;
    _hasOnAddItem(): boolean;
    _hasOnDeleteItem(): boolean;
    _emitValueChange(): void;
    _emitSearch(): void;
    _emitOnSelect(item: any, isSelected: boolean): void;
    _emitOnClear(items: any[]): void;
    _emitOnSearchSuccessOrFail(isSuccess: boolean): void;
    _formatItem(item: any): string;
    _formatValueItem(item: any): string;
    _getItemValue(item: any): any;
    _getStoredItemValue(item: any): any;
    _onSearchbarClear(): void;
    _filterItems(): void;
    _isItemDisabled(item: any): boolean;
    _isItemSelected(item: any): boolean;
    _addSelectedItem(item: any): void;
    _deleteSelectedItem(item: any): void;
    _click(): void;
    _saveItem(event: Event, item: any): void;
    _deleteItemClick(event: Event, item: any): void;
    _addItemClick(): void;
    _positionAddItemTemplate(): void;
    _close(): void;
    _clear(): void;
    _getMoreItems(): void;
    _setItemsToConfirm(items: any[]): void;
    _doSelect(selectedItem: any): void;
    _select(item: any): void;
    _confirm(): void;
    private _getLabelText;
    private _areGroupsEmpty;
    private _countFooterButtons;
    private _setItems;
    private _getPropertyValue;
    private _setIonItemHasFocus;
    private _setIonItemHasValue;
    private _setHasPlaceholder;
    private propagateOnChange;
    private propagateOnTouched;
    private _setIonItemCssClass;
    private _toggleAddItemTemplate;
    writeValue(value: any): void;
    registerOnChange(method: any): void;
    registerOnTouched(method: () => void): void;
    setDisabledState(isDisabled: boolean): void;
    ngOnInit(): void;
    ngDoCheck(): void;
    /**
     * Adds item.
     * **Note**: If you want an item to be added to the original array as well use two-way data binding syntax on `[(items)]` field.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#additem).
     *
     * @param item Item to add.
     * @returns Promise that resolves when item has been added.
     * @memberof IonSelectableComponent
     */
    addItem(item: any): Promise<any>;
    /**
     * Deletes item.
     * **Note**: If you want an item to be deleted from the original array as well use two-way data binding syntax on `[(items)]` field.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#deleteitem).
     *
     * @param item Item to delete.
     * @returns Promise that resolves when item has been deleted.
     * @memberof IonSelectableComponent
     */
    deleteItem(item: any): Promise<any>;
    /**
     * Determines whether any item has been selected.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#hasvalue).
     *
     * @returns A boolean determining whether any item has been selected.
     * @memberof IonSelectableComponent
     */
    hasValue(): boolean;
    /**
     * Opens Modal.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#open).
     *
     * @returns Promise that resolves when Modal has been opened.
     * @memberof IonSelectableComponent
     */
    open(): Promise<void>;
    /**
     * Closes Modal.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#close).
     *
     * @returns Promise that resolves when Modal has been closed.
     * @memberof IonSelectableComponent
     */
    close(): Promise<void>;
    /**
     * Clears value.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#clear).
     *
     * @memberof IonSelectableComponent
     */
    clear(): void;
    /**
     * Confirms selected items by updating value.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#confirm).
     *
     * @memberof IonSelectableComponent
     */
    confirm(): void;
    /**
     * Selects or deselects all or specific items.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#toggleitems).
     *
     * @param isSelect Determines whether to select or deselect items.
     * @param [items] Items to toggle. If items are not set all items will be toggled.
     * @memberof IonSelectableComponent
     */
    toggleItems(isSelect: boolean, items?: any[]): void;
    /**
     * Scrolls to the top of Modal content.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#scrolltotop).
     *
     * @returns Promise that resolves when scroll has been completed.
     * @memberof IonSelectableComponent
     */
    scrollToTop(): Promise<any>;
    /**
     * Scrolls to the bottom of Modal content.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#scrolltobottom).
     *
     * @returns Promise that resolves when scroll has been completed.
     * @memberof IonSelectableComponent
     */
    scrollToBottom(): Promise<any>;
    /**
     * Starts search process by showing Loading spinner.
     * Use it together with `onSearch` event to indicate search start.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#startsearch).
     *
     * @memberof IonSelectableComponent
     */
    startSearch(): void;
    /**
     * Ends search process by hiding Loading spinner and refreshing items.
     * Use it together with `onSearch` event to indicate search end.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#endsearch).
     *
     * @memberof IonSelectableComponent
     */
    endSearch(): void;
    /**
     * Enables infinite scroll.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#enableinfinitescroll).
     *
     * @memberof IonSelectableComponent
     */
    enableInfiniteScroll(): void;
    /**
     * Disables infinite scroll.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#disableinfinitescroll).
     *
     * @memberof IonSelectableComponent
     */
    disableInfiniteScroll(): void;
    /**
     * Ends infinite scroll.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#endinfinitescroll).
     *
     * @memberof IonSelectableComponent
     */
    endInfiniteScroll(): void;
    /**
     * Triggers search of items.
     * **Note**: `canSearch` has to be enabled.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#search).
     *
     * @param text Text to search items by.
     * @memberof IonSelectableComponent
     */
    search(text: string): void;
    /**
     * Shows Loading spinner.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#showloading).
     *
     * @memberof IonSelectableComponent
     */
    showLoading(): void;
    /**
     * Hides Loading spinner.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#hideloading).
     *
     * @memberof IonSelectableComponent
     */
    hideLoading(): void;
    /**
     * Shows `IonSelectableAddItemTemplate`.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#showadditemtemplate).
     *
     * @memberof IonSelectableComponent
     */
    showAddItemTemplate(): void;
    /**
     * Hides `IonSelectableAddItemTemplate`.
     * See more on [GitHub](https://github.com/eakoriakin/ionic-selectable/wiki/Documentation#hideadditemtemplate).
     *
     * @memberof IonSelectableComponent
     */
    hideAddItemTemplate(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<IonSelectableComponent, [null, null, { optional: true; }, null, null, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IonSelectableComponent, "ion-selectable", never, { "items": { "alias": "items"; "required": false; }; "isEnabled": { "alias": "isEnabled"; "required": false; }; "shouldBackdropClose": { "alias": "shouldBackdropClose"; "required": false; }; "modalCssClass": { "alias": "modalCssClass"; "required": false; }; "modalEnterAnimation": { "alias": "modalEnterAnimation"; "required": false; }; "modalLeaveAnimation": { "alias": "modalLeaveAnimation"; "required": false; }; "isConfirmButtonEnabled": { "alias": "isConfirmButtonEnabled"; "required": false; }; "hasConfirmButton": { "alias": "hasConfirmButton"; "required": false; }; "itemValueField": { "alias": "itemValueField"; "required": false; }; "itemTextField": { "alias": "itemTextField"; "required": false; }; "groupValueField": { "alias": "groupValueField"; "required": false; }; "groupTextField": { "alias": "groupTextField"; "required": false; }; "canSearch": { "alias": "canSearch"; "required": false; }; "isOnSearchEnabled": { "alias": "isOnSearchEnabled"; "required": false; }; "canClear": { "alias": "canClear"; "required": false; }; "hasInfiniteScroll": { "alias": "hasInfiniteScroll"; "required": false; }; "hasVirtualScroll": { "alias": "hasVirtualScroll"; "required": false; }; "virtualScrollApproxItemHeight": { "alias": "virtualScrollApproxItemHeight"; "required": false; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "isMultiple": { "alias": "isMultiple"; "required": false; }; "searchFailText": { "alias": "searchFailText"; "required": false; }; "clearButtonText": { "alias": "clearButtonText"; "required": false; }; "addButtonText": { "alias": "addButtonText"; "required": false; }; "confirmButtonText": { "alias": "confirmButtonText"; "required": false; }; "closeButtonText": { "alias": "closeButtonText"; "required": false; }; "shouldFocusSearchbar": { "alias": "shouldFocusSearchbar"; "required": false; }; "headerColor": { "alias": "headerColor"; "required": false; }; "groupColor": { "alias": "groupColor"; "required": false; }; "closeButtonSlot": { "alias": "closeButtonSlot"; "required": false; }; "itemIconSlot": { "alias": "itemIconSlot"; "required": false; }; "searchDebounce": { "alias": "searchDebounce"; "required": false; }; "disabledItems": { "alias": "disabledItems"; "required": false; }; "shouldStoreItemValue": { "alias": "shouldStoreItemValue"; "required": false; }; "canSaveItem": { "alias": "canSaveItem"; "required": false; }; "canDeleteItem": { "alias": "canDeleteItem"; "required": false; }; "canAddItem": { "alias": "canAddItem"; "required": false; }; "virtualScrollHeaderFn": { "alias": "virtualScrollHeaderFn"; "required": false; }; }, { "itemsChange": "itemsChange"; "onChange": "onChange"; "onSearch": "onSearch"; "onSearchFail": "onSearchFail"; "onSearchSuccess": "onSearchSuccess"; "onInfiniteScroll": "onInfiniteScroll"; "onOpen": "onOpen"; "onClose": "onClose"; "onSelect": "onSelect"; "onClear": "onClear"; "onSaveItem": "onSaveItem"; "onDeleteItem": "onDeleteItem"; "onAddItem": "onAddItem"; }, ["valueTemplate", "itemTemplate", "itemEndTemplate", "titleTemplate", "placeholderTemplate", "messageTemplate", "groupTemplate", "groupEndTemplate", "closeButtonTemplate", "searchFailTemplate", "addItemTemplate", "footerTemplate", "headerTemplate", "itemIconTemplate", "iconTemplate"], never, true, never>;
}
