import { BaseAPI } from '../../common/BaseAPI';
import Configuration from '../../common/Configuration';
import AnalyticsApi from './analytics/AnalyticsApi';
import DomainsApi from './domains/DomainsApi';
import ThirdPartyLicensingApi from './thirdPartyLicensing/ThirdPartyLicensingApi';
import PlayerLicense from '../../models/PlayerLicense';
import PlayerLicenseUpdateRequest from '../../models/PlayerLicenseUpdateRequest';
import PaginationResponse from '../../models/PaginationResponse';
import { PlayerLicenseListQueryParams, PlayerLicenseListQueryParamsBuilder } from './PlayerLicenseListQueryParams';
/**
 * LicensesApi - object-oriented interface
 * @export
 * @class LicensesApi
 * @extends {BaseAPI}
 */
export default class LicensesApi extends BaseAPI {
    analytics: AnalyticsApi;
    domains: DomainsApi;
    thirdPartyLicensing: ThirdPartyLicensingApi;
    constructor(configuration: Configuration);
    /**
     * @summary Create Player License
     * @param {PlayerLicense} playerLicense Player License to be created
     * @throws {BitmovinError}
     * @memberof LicensesApi
     */
    create(playerLicense?: PlayerLicense): Promise<PlayerLicense>;
    /**
     * @summary Get License
     * @param {string} licenseId ID of the License
     * @throws {BitmovinError}
     * @memberof LicensesApi
     */
    get(licenseId: string): Promise<PlayerLicense>;
    /**
     * @summary List Player Licenses
     * @param {*} [queryParameters] query parameters for filtering, sorting and pagination
     * @throws {BitmovinError}
     * @memberof LicensesApi
     */
    list(queryParameters?: PlayerLicenseListQueryParams | ((q: PlayerLicenseListQueryParamsBuilder) => PlayerLicenseListQueryParamsBuilder)): Promise<PaginationResponse<PlayerLicense>>;
    /**
     * @summary Update License
     * @param {string} licenseId License id
     * @param {PlayerLicenseUpdateRequest} playerLicenseUpdateRequest Player License details to be updated
     * @throws {BitmovinError}
     * @memberof LicensesApi
     */
    update(licenseId: string, playerLicenseUpdateRequest?: PlayerLicenseUpdateRequest): Promise<PlayerLicense>;
}
