import { TranslationService, TranslationResult } from '.';
import { Matcher } from '../matchers';
export declare class DeepL implements TranslationService {
    name: string;
    private apiEndpoint;
    /**
     * Creates a new instance of the DeepL translation service
     * @param useFreeApi Use the free vs paid api
     */
    constructor(useFreeApi: boolean);
    private apiKey;
    /**
     * Number to tokens to translate at once
     */
    private batchSize;
    private supportedLanguages;
    private formalityLanguages;
    private interpolationMatcher;
    private decodeEscapes;
    private formality;
    initialize(config?: string, interpolationMatcher?: Matcher, decodeEscapes?: boolean): Promise<void>;
    fetchLanguages(): Promise<{
        language: string;
        name: string;
        supports_formality: boolean;
    }[]>;
    getFormalityLanguages(languages: Array<{
        language: string;
        name: string;
        supports_formality: boolean;
    }>): Set<string>;
    formatLanguages(languages: Array<{
        language: string;
        name: string;
        supports_formality: boolean;
    }>): Set<string>;
    supportsLanguage(language: string): boolean;
    supportsFormality(language: string): boolean;
    translateStrings(strings: {
        key: string;
        value: string;
    }[], from: string, to: string): Promise<TranslationResult[]>;
    runTranslation(strings: {
        key: string;
        value: string;
    }[], from: string, to: string, triesLeft?: number): Promise<TranslationResult[]>;
}
