import { Configuration } from './configuration';
import { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';
import { RequestArgs, BaseAPI } from './base';
export interface AddConfusionDtoV1 {
    'key': string;
    'description': string;
    'confusion': Array<Array<string>>;
}
export interface ConfusionRuleDtoV1 {
    'key': string;
    'language': ConfusionRuleDtoV1LanguageEnum;
    'description': string;
    'confusion': Array<Array<string>>;
}
export declare const ConfusionRuleDtoV1LanguageEnum: {
    readonly ar_idn: "ar-idn";
    readonly de: "de";
    readonly en: "en";
    readonly nl: "nl";
    readonly zh: "zh";
    readonly fr: "fr";
    readonly es: "es";
};
export declare type ConfusionRuleDtoV1LanguageEnum = typeof ConfusionRuleDtoV1LanguageEnum[keyof typeof ConfusionRuleDtoV1LanguageEnum];
export interface MetadataDtoV1 {
    'word': string;
    'metadata': object;
}
export interface MetadataRequestDtoV1 {
    'phrase': string;
    'targetLanguage': MetadataRequestDtoV1TargetLanguageEnum;
    'secret'?: string;
    'userData'?: object;
}
export declare const MetadataRequestDtoV1TargetLanguageEnum: {
    readonly ar_idn: "ar-idn";
    readonly de: "de";
    readonly en: "en";
    readonly nl: "nl";
    readonly zh: "zh";
    readonly fr: "fr";
    readonly es: "es";
};
export declare type MetadataRequestDtoV1TargetLanguageEnum = typeof MetadataRequestDtoV1TargetLanguageEnum[keyof typeof MetadataRequestDtoV1TargetLanguageEnum];
export interface PhrasePronunciationDtoV1 {
    'language': PhrasePronunciationDtoV1LanguageEnum;
    'phrase': string;
    'tokens': Array<TokenPronunciationDtoV1>;
}
export declare const PhrasePronunciationDtoV1LanguageEnum: {
    readonly ar_idn: "ar-idn";
    readonly de: "de";
    readonly en: "en";
    readonly nl: "nl";
    readonly zh: "zh";
    readonly fr: "fr";
    readonly es: "es";
};
export declare type PhrasePronunciationDtoV1LanguageEnum = typeof PhrasePronunciationDtoV1LanguageEnum[keyof typeof PhrasePronunciationDtoV1LanguageEnum];
export interface PhrasePronunciationDtoV2 {
    'language': PhrasePronunciationDtoV2LanguageEnum;
    'phrase': string;
    'tokens': Array<TokenPronunciationDtoV2>;
}
export declare const PhrasePronunciationDtoV2LanguageEnum: {
    readonly ar_idn: "ar-idn";
    readonly de: "de";
    readonly en: "en";
    readonly nl: "nl";
    readonly zh: "zh";
    readonly fr: "fr";
    readonly es: "es";
};
export declare type PhrasePronunciationDtoV2LanguageEnum = typeof PhrasePronunciationDtoV2LanguageEnum[keyof typeof PhrasePronunciationDtoV2LanguageEnum];
export interface PronunciationDtoV1 {
    'word': string;
    'correctPronunciations': Array<Array<string>>;
    'incorrectPronunciations': Array<Array<string>>;
    'liaisonPhoneme'?: string;
    'prosody'?: ProsodyTargetDtoV1;
    'punctuation'?: string;
}
export interface PronunciationDtoV2 {
    'word': string;
    'correctPronunciations': Array<PronunciationDtoV2CorrectPronunciations>;
    'incorrectPronunciations': Array<PronunciationDtoV2CorrectPronunciations>;
    'liaisonPhoneme'?: string;
    'prosody'?: ProsodyTargetDtoV2;
}
export interface PronunciationDtoV2CorrectPronunciations {
    'phonemes': Array<PronunciationDtoV2Phonemes>;
}
export interface PronunciationDtoV2Phonemes {
    'phoneme': string;
    'duration'?: Array<PronunciationDtoV2PhonemesDurationEnum>;
}
export declare const PronunciationDtoV2PhonemesDurationEnum: {
    readonly short: "short";
    readonly normal: "normal";
    readonly long: "long";
    readonly superlong: "superlong";
};
export declare type PronunciationDtoV2PhonemesDurationEnum = typeof PronunciationDtoV2PhonemesDurationEnum[keyof typeof PronunciationDtoV2PhonemesDurationEnum];
export interface PronunciationMetadataRequestDtoV1 {
    'language': PronunciationMetadataRequestDtoV1LanguageEnum;
    'words': Array<WordPronunciationDtoV1>;
    'secret'?: string;
    'userData'?: object;
}
export declare const PronunciationMetadataRequestDtoV1LanguageEnum: {
    readonly ar_idn: "ar-idn";
    readonly de: "de";
    readonly en: "en";
    readonly nl: "nl";
    readonly zh: "zh";
    readonly fr: "fr";
    readonly es: "es";
};
export declare type PronunciationMetadataRequestDtoV1LanguageEnum = typeof PronunciationMetadataRequestDtoV1LanguageEnum[keyof typeof PronunciationMetadataRequestDtoV1LanguageEnum];
export interface PronunciationRequestDtoV1 {
    'targetLanguage': PronunciationRequestDtoV1TargetLanguageEnum;
    'phrase': string;
    'confusion'?: string | object;
}
export declare const PronunciationRequestDtoV1TargetLanguageEnum: {
    readonly ar_idn: "ar-idn";
    readonly de: "de";
    readonly en: "en";
    readonly nl: "nl";
    readonly zh: "zh";
    readonly fr: "fr";
    readonly es: "es";
};
export declare type PronunciationRequestDtoV1TargetLanguageEnum = typeof PronunciationRequestDtoV1TargetLanguageEnum[keyof typeof PronunciationRequestDtoV1TargetLanguageEnum];
export interface PronunciationRequestDtoV2 {
    'targetLanguage': PronunciationRequestDtoV2TargetLanguageEnum;
    'phrase': string;
    'confusion'?: string | object;
}
export declare const PronunciationRequestDtoV2TargetLanguageEnum: {
    readonly ar_idn: "ar-idn";
    readonly de: "de";
    readonly en: "en";
    readonly nl: "nl";
    readonly zh: "zh";
    readonly fr: "fr";
    readonly es: "es";
};
export declare type PronunciationRequestDtoV2TargetLanguageEnum = typeof PronunciationRequestDtoV2TargetLanguageEnum[keyof typeof PronunciationRequestDtoV2TargetLanguageEnum];
export interface ProsodyTargetDtoV1 {
    'pause'?: ProsodyTargetDtoV1PauseEnum;
    'intonation'?: ProsodyTargetDtoV1IntonationEnum;
    'stress'?: number;
}
export declare const ProsodyTargetDtoV1PauseEnum: {
    readonly prohibited: "prohibited";
    readonly optional: "optional";
    readonly mandatory: "mandatory";
};
export declare type ProsodyTargetDtoV1PauseEnum = typeof ProsodyTargetDtoV1PauseEnum[keyof typeof ProsodyTargetDtoV1PauseEnum];
export declare const ProsodyTargetDtoV1IntonationEnum: {
    readonly falling: "falling";
    readonly rising: "rising";
    readonly flat: "flat";
};
export declare type ProsodyTargetDtoV1IntonationEnum = typeof ProsodyTargetDtoV1IntonationEnum[keyof typeof ProsodyTargetDtoV1IntonationEnum];
export interface ProsodyTargetDtoV2 {
    'pause'?: ProsodyTargetDtoV2PauseEnum;
    'intonation'?: ProsodyTargetDtoV2IntonationEnum;
    'stress'?: number;
}
export declare const ProsodyTargetDtoV2PauseEnum: {
    readonly prohibited: "prohibited";
    readonly optional: "optional";
    readonly mandatory: "mandatory";
};
export declare type ProsodyTargetDtoV2PauseEnum = typeof ProsodyTargetDtoV2PauseEnum[keyof typeof ProsodyTargetDtoV2PauseEnum];
export declare const ProsodyTargetDtoV2IntonationEnum: {
    readonly falling: "falling";
    readonly rising: "rising";
    readonly flat: "flat";
};
export declare type ProsodyTargetDtoV2IntonationEnum = typeof ProsodyTargetDtoV2IntonationEnum[keyof typeof ProsodyTargetDtoV2IntonationEnum];
export interface TokenPronunciationDtoV1 {
    'token': string;
    'expanded': string;
    'words': Array<PronunciationDtoV1>;
}
export interface TokenPronunciationDtoV2 {
    'token': string;
    'expanded': string;
    'words': Array<PronunciationDtoV2>;
}
export interface UpdateConfusionDtoV1 {
    'description'?: string;
    'confusion'?: Array<Array<string>>;
}
export interface WordPronunciationDtoV1 {
    'word': string;
    'pronunciation': Array<PronunciationDtoV2CorrectPronunciations>;
}
export declare const ConfusionApiAxiosParamCreator: (configuration?: Configuration) => {
    addConfusionsV1: (lang: string, addConfusionDtoV1: AddConfusionDtoV1, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    deleteConfusionsV1: (lang: string, key: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    getConfusionsV1: (lang: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    updateConfusionsV1: (lang: string, key: string, updateConfusionDtoV1: UpdateConfusionDtoV1, options?: AxiosRequestConfig) => Promise<RequestArgs>;
};
export declare const ConfusionApiFp: (configuration?: Configuration) => {
    addConfusionsV1(lang: string, addConfusionDtoV1: AddConfusionDtoV1, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ConfusionRuleDtoV1>>;
    deleteConfusionsV1(lang: string, key: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    getConfusionsV1(lang: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ConfusionRuleDtoV1>>>;
    updateConfusionsV1(lang: string, key: string, updateConfusionDtoV1: UpdateConfusionDtoV1, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ConfusionRuleDtoV1>>;
};
export declare const ConfusionApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    addConfusionsV1(lang: string, addConfusionDtoV1: AddConfusionDtoV1, options?: any): AxiosPromise<ConfusionRuleDtoV1>;
    deleteConfusionsV1(lang: string, key: string, options?: any): AxiosPromise<void>;
    getConfusionsV1(lang: string, options?: any): AxiosPromise<Array<ConfusionRuleDtoV1>>;
    updateConfusionsV1(lang: string, key: string, updateConfusionDtoV1: UpdateConfusionDtoV1, options?: any): AxiosPromise<ConfusionRuleDtoV1>;
};
export declare class ConfusionApi extends BaseAPI {
    addConfusionsV1(lang: string, addConfusionDtoV1: AddConfusionDtoV1, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<ConfusionRuleDtoV1, any>>;
    deleteConfusionsV1(lang: string, key: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any>>;
    getConfusionsV1(lang: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<ConfusionRuleDtoV1[], any>>;
    updateConfusionsV1(lang: string, key: string, updateConfusionDtoV1: UpdateConfusionDtoV1, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<ConfusionRuleDtoV1, any>>;
}
export declare const MetadataApiAxiosParamCreator: (configuration?: Configuration) => {
    getMetadataV1: (metadataRequestDtoV1: MetadataRequestDtoV1, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    getPronunciationMetadataV1: (pronunciationMetadataRequestDtoV1: PronunciationMetadataRequestDtoV1, options?: AxiosRequestConfig) => Promise<RequestArgs>;
};
export declare const MetadataApiFp: (configuration?: Configuration) => {
    getMetadataV1(metadataRequestDtoV1: MetadataRequestDtoV1, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<MetadataDtoV1>>>;
    getPronunciationMetadataV1(pronunciationMetadataRequestDtoV1: PronunciationMetadataRequestDtoV1, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<MetadataDtoV1>>>;
};
export declare const MetadataApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    getMetadataV1(metadataRequestDtoV1: MetadataRequestDtoV1, options?: any): AxiosPromise<Array<MetadataDtoV1>>;
    getPronunciationMetadataV1(pronunciationMetadataRequestDtoV1: PronunciationMetadataRequestDtoV1, options?: any): AxiosPromise<Array<MetadataDtoV1>>;
};
export declare class MetadataApi extends BaseAPI {
    getMetadataV1(metadataRequestDtoV1: MetadataRequestDtoV1, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<MetadataDtoV1[], any>>;
    getPronunciationMetadataV1(pronunciationMetadataRequestDtoV1: PronunciationMetadataRequestDtoV1, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<MetadataDtoV1[], any>>;
}
export declare const PronunciationApiAxiosParamCreator: (configuration?: Configuration) => {
    getPronunciationsV1: (pronunciationRequestDtoV1: PronunciationRequestDtoV1, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    getPronunciationsV2: (pronunciationRequestDtoV2: PronunciationRequestDtoV2, options?: AxiosRequestConfig) => Promise<RequestArgs>;
};
export declare const PronunciationApiFp: (configuration?: Configuration) => {
    getPronunciationsV1(pronunciationRequestDtoV1: PronunciationRequestDtoV1, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PhrasePronunciationDtoV1>>;
    getPronunciationsV2(pronunciationRequestDtoV2: PronunciationRequestDtoV2, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PhrasePronunciationDtoV2>>;
};
export declare const PronunciationApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    getPronunciationsV1(pronunciationRequestDtoV1: PronunciationRequestDtoV1, options?: any): AxiosPromise<PhrasePronunciationDtoV1>;
    getPronunciationsV2(pronunciationRequestDtoV2: PronunciationRequestDtoV2, options?: any): AxiosPromise<PhrasePronunciationDtoV2>;
};
export declare class PronunciationApi extends BaseAPI {
    getPronunciationsV1(pronunciationRequestDtoV1: PronunciationRequestDtoV1, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PhrasePronunciationDtoV1, any>>;
    getPronunciationsV2(pronunciationRequestDtoV2: PronunciationRequestDtoV2, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PhrasePronunciationDtoV2, any>>;
}
