import { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
import { LanguageCode } from '../../entities';
import { CreatePublisherDto, PublisherResponseDto, UpdatePublisherDto } from './dto';
import { Configuration, OAuthSettingsDto, PublisherDescriptorDto } from './generated';
export declare class PublisherApi {
    private readonly publishersApi;
    private readonly permissionTypeMapper;
    private readonly languageCodeMapper;
    constructor(configuration?: Configuration | undefined, basePath?: string, axios?: AxiosInstance);
    private mapGeneratedPublisherResponseDto;
    addPublisher(createPublisherDto: CreatePublisherDto, options?: AxiosRequestConfig): Promise<AxiosResponse<CreatePublisherDto>>;
    deletePublisher(id: string, options?: AxiosRequestConfig): Promise<AxiosResponse<void>>;
    findAllPublishers(options?: AxiosRequestConfig): Promise<AxiosResponse<PublisherDescriptorDto[]>>;
    getAndValidatePublisher(id: string, apiKey?: string, anonymous?: boolean, options?: AxiosRequestConfig): Promise<AxiosResponse<PublisherResponseDto>>;
    updatePublisher(id: string, updatePublisherDto: UpdatePublisherDto, apiKey?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<PublisherResponseDto>>;
    getOAuthSettings(id: string, options?: AxiosRequestConfig): Promise<AxiosResponse<OAuthSettingsDto>>;
    requestTrialAccount(contactName: string, email: string, accountName: string, languages: LanguageCode[], otherInfo?: {
        [key: string]: unknown;
    }, options?: AxiosRequestConfig): Promise<void>;
}
