import { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
import { AttemptResponseDtoV1, ReplaceAttemptDtoV1 } from './dto';
import { Configuration } from './generated';
export declare class DataApi {
    private readonly filesApi;
    private readonly attemptsApi;
    private readonly exerciseResultMapper;
    constructor(configuration?: Configuration | undefined, basePath?: string, axios?: AxiosInstance);
    private mapGeneratedExerciseResponse;
    private mapGeneratedExerciseResponses;
    createAttempt(attempt?: string, audio?: unknown, options?: AxiosRequestConfig<unknown> | undefined): Promise<AxiosResponse<AttemptResponseDtoV1>>;
    getAttempt(id: string, options?: AxiosRequestConfig<unknown> | undefined): Promise<AxiosResponse<AttemptResponseDtoV1>>;
    getAttempts(options?: AxiosRequestConfig<unknown> | undefined): Promise<AxiosResponse<Array<AttemptResponseDtoV1>>>;
    removeAttempt(id: string, options?: AxiosRequestConfig<unknown>): Promise<AxiosResponse<void>>;
    updateAttempt(id: string, replaceAttemptDtoV1: ReplaceAttemptDtoV1, options?: AxiosRequestConfig<unknown> | undefined): Promise<AxiosResponse<AttemptResponseDtoV1>>;
    getAudio(audioKey: string, options?: AxiosRequestConfig<unknown> | undefined): Promise<ArrayBuffer>;
    downloadAttempts(publisherId: string, offset: number, limit: number, filter: Record<string, unknown>, options?: AxiosRequestConfig<unknown> | undefined): Promise<AxiosResponse<Array<AttemptResponseDtoV1>>>;
}
