/**
 * DISCLAIMER
 *
 * As there is not yet an OData end-point for managed metadata, this service makes use of the ProcessQuery end-points.
 * The service will get updated once the APIs are in place for managing managed metadata.
 */
import { BaseComponentContext } from '@microsoft/sp-component-base';
import { IPickerTerm } from './../propertyFields/termPicker/IPropertyFieldTermPicker';
import { ITermStore, ITerm, IGroup, ITermSet, ISPTermStorePickerServiceProps, ISPTermStorePickerService, ITermSets } from './ISPTermStorePickerService';
/**
 * Service implementation to manage term stores in SharePoint
 */
export default class SPTermStorePickerService implements ISPTermStorePickerService {
    private props;
    private context;
    private clientServiceUrl;
    /**
     * Service constructor
     */
    constructor(props: ISPTermStorePickerServiceProps, context: BaseComponentContext);
    /**
     * Gets the collection of term stores in the current SharePoint env
     */
    getTermStores(): Promise<ITermStore[]>;
    /**
     * Gets the current term set
     */
    getTermSets(): Promise<ITermSet[]>;
    /**
     * Get the term set ID by its name
     * @param termstore
     * @param termset
     */
    private getAllTermSets;
    /**
     * Retrieve all terms for the given term set
     * @param termsetId
     */
    getAllTerms(termSet: ITermSet): Promise<ITerm[]>;
    /**
     * Retrieve all terms that starts with the searchText
     * @param searchText
     */
    searchTermsByName(searchText: string): Promise<IPickerTerm[]>;
    getGroupTermSets(group: IGroup): Promise<ITermSets>;
    /**
       * Searches terms for the given term set
       * @param searchText
       * @param termsetId
       */
    private searchTermsByTermSet;
    /**
     * Searches terms for a group
     * @param searchText
     */
    private searchTermsByGroup;
    /**
     * Searches terms in termstore
     * @param searchText
     */
    private searchAllTerms;
    private getTermGroupByTermSetId;
}
//# sourceMappingURL=SPTermStorePickerService.d.ts.map