import { BaseAPI } from '../../common/BaseAPI';
import Configuration from '../../common/Configuration';
import AnalyticsVirtualLicense from '../../models/AnalyticsVirtualLicense';
import AnalyticsVirtualLicenseRequest from '../../models/AnalyticsVirtualLicenseRequest';
import BitmovinResponse from '../../models/BitmovinResponse';
import PaginationResponse from '../../models/PaginationResponse';
import { AnalyticsVirtualLicenseListQueryParams, AnalyticsVirtualLicenseListQueryParamsBuilder } from './AnalyticsVirtualLicenseListQueryParams';
/**
 * VirtualLicensesApi - object-oriented interface
 * @export
 * @class VirtualLicensesApi
 * @extends {BaseAPI}
 */
export default class VirtualLicensesApi extends BaseAPI {
    constructor(configuration: Configuration);
    /**
     * @summary Create Analytics Virtual License
     * @param {AnalyticsVirtualLicenseRequest} analyticsVirtualLicenseRequest Analytics Virtual License to be created
     * @throws {BitmovinError}
     * @memberof VirtualLicensesApi
     */
    create(analyticsVirtualLicenseRequest?: AnalyticsVirtualLicenseRequest): Promise<AnalyticsVirtualLicense>;
    /**
     * @summary Delete Analytics Virtual License
     * @param {string} virtualLicenseId Virtual License id
     * @throws {BitmovinError}
     * @memberof VirtualLicensesApi
     */
    delete(virtualLicenseId: string): Promise<BitmovinResponse>;
    /**
     * @summary Analytics Virtual License
     * @param {string} virtualLicenseId Virtual license id
     * @throws {BitmovinError}
     * @memberof VirtualLicensesApi
     */
    get(virtualLicenseId: string): Promise<AnalyticsVirtualLicense>;
    /**
     * @summary List Analytics Virtual Licenses
     * @param {*} [queryParameters] query parameters for filtering, sorting and pagination
     * @throws {BitmovinError}
     * @memberof VirtualLicensesApi
     */
    list(queryParameters?: AnalyticsVirtualLicenseListQueryParams | ((q: AnalyticsVirtualLicenseListQueryParamsBuilder) => AnalyticsVirtualLicenseListQueryParamsBuilder)): Promise<PaginationResponse<AnalyticsVirtualLicense>>;
    /**
     * @summary Update Analytics Virtual License
     * @param {string} virtualLicenseId Virtual license id
     * @param {AnalyticsVirtualLicenseRequest} analyticsVirtualLicenseRequest Analytics Virtual License details to be updated
     * @throws {BitmovinError}
     * @memberof VirtualLicensesApi
     */
    update(virtualLicenseId: string, analyticsVirtualLicenseRequest?: AnalyticsVirtualLicenseRequest): Promise<AnalyticsVirtualLicense>;
}
