/*!
 * Copyright 2020 VMware, Inc.
 * SPDX-License-Identifier: BSD-2-Clause
 */
import { TranslationService } from '@vcd/i18n';
import { ActionItem } from '../common/interfaces';
import { QuickSearchProvider, QuickSearchProviderDefaults, QuickSearchResults } from '../quick-search';
export declare const DEFAULT_ACTION_SEARCH_SECTION_HEADER_PREFIX = "vcd.cc.action.provider.section.title";
export declare class ActionSearchProvider<R, T> extends QuickSearchProviderDefaults implements QuickSearchProvider {
    private ts;
    set actions(actions: ActionItem<R, T>[]);
    set selectedEntities(entities: R[]);
    constructor(ts: TranslationService, shouldDebounceInput?: boolean);
    private flatListOfAvailableActions;
    /**
     * Initialized by the calling component and is used for searching of the search criteria entered in {@link QuickSearchComponent}
     */
    private _actions;
    /**
     * Used in {@link isActionDisabled} to calculate disabled state of actions  and also in action handler
     */
    private _selectedEntities;
    private resolveIsReadyToSearch;
    private isReadyToSearchPromise;
    private shouldWait;
    /**
     * Pause searching for actions. For example, Call this method when searching for actions has to be paused until
     * some data has to be fetched asynchronously
     */
    pause(): void;
    /**
     * Resume searching for actions. To unpause searching for actions functionality that might have been paused earlier
     * using pause method above
     */
    unPause(): void;
    private readyToSearchPromiseFactory;
    /**
     * Searches through nested actions and finds all the actions that match with entered search text on the
     * {@link QuickSearchComponent}
     */
    search(criteria: string): Promise<QuickSearchResults>;
    private getActions;
    private getFlatListOfAvailableActions;
    private isActionAvailable;
    private isActionDisabled;
}
