import { ITermSet, ITermSetData } from "@pnp/sp-taxonomy";
import { TermTree, PNPTerm } from '../entities/sharepoint/TermTree';
import { ITaxonomySession } from '@pnp/sp-taxonomy';
import { i18nTerm } from "../entities/i18nTerm";
import { i18nTermCollection } from "../entities/i18nTermCollection";
export declare class SPTaxonomyService {
    private tSession;
    private readonly LABELS_NAME;
    /**
     * @param context WebpartContextBase or ListViewCommandSetContext
     */
    constructor(context: any);
    getTermsFromTermSet(termSetName: string, select?: string[], termGroupName?: string): Promise<i18nTerm[]>;
    /**
     * Same as getTermsFromTermSet, but with a wrapper for the translated terms, for easy access.
     * @param termSetName Term set name
     * @param select only supply this if you know what are you doing, by default it selects Id, Name, Description, IsRoot, TermsCount, PathOfTerm, Labels and CustomProperties
     * @remark If you supply select parameter, ensure Labels is included or you won't be able to translate anything.
     */
    getTranslatedTermsFromTermSet(termSetName: string, select?: string[]): Promise<i18nTermCollection>;
    getTermSet(termSetName: string, termGroupName?: string): Promise<ITermSet & ITermSetData>;
    getTermsFromTermSetAsTree(termSetName: string, keepTopOrder?: boolean): Promise<TermTree>;
    private getTermSetCommon;
    private formatTerms;
    getRawTaxonomySession(): ITaxonomySession;
    saveNewTerm(termName: string, lcid: number, isAvailableForTagging: boolean, termSetName: string, termGroupName?: string): Promise<PNPTerm>;
}
