import { BaseAPI } from '../../../../common/BaseAPI';
import Configuration from '../../../../common/Configuration';
import BitmovinResponse from '../../../../models/BitmovinResponse';
import H265V2VideoConfiguration from '../../../../models/H265V2VideoConfiguration';
import PaginationResponse from '../../../../models/PaginationResponse';
import { H265V2VideoConfigurationListQueryParams, H265V2VideoConfigurationListQueryParamsBuilder } from './H265V2VideoConfigurationListQueryParams';
/**
 * H265v2Api - object-oriented interface
 * @export
 * @class H265v2Api
 * @extends {BaseAPI}
 */
export default class H265v2Api extends BaseAPI {
    constructor(configuration: Configuration);
    /**
     * @summary Create H265 V2 Codec Configuration
     * @param {H265V2VideoConfiguration} h265V2VideoConfiguration The H265 V2 Codec Configuration to be created
     * @throws {BitmovinError}
     * @memberof H265v2Api
     */
    create(h265V2VideoConfiguration?: H265V2VideoConfiguration): Promise<H265V2VideoConfiguration>;
    /**
     * @summary Delete H265 V2 Codec Configuration
     * @param {string} configurationId Id of the codec configuration
     * @throws {BitmovinError}
     * @memberof H265v2Api
     */
    delete(configurationId: string): Promise<BitmovinResponse>;
    /**
     * @summary H265 V2 Codec Configuration Details
     * @param {string} configurationId Id of the codec configuration
     * @throws {BitmovinError}
     * @memberof H265v2Api
     */
    get(configurationId: string): Promise<H265V2VideoConfiguration>;
    /**
     * @summary List H265 V2 Codec Configurations
     * @param {*} [queryParameters] query parameters for filtering, sorting and pagination
     * @throws {BitmovinError}
     * @memberof H265v2Api
     */
    list(queryParameters?: H265V2VideoConfigurationListQueryParams | ((q: H265V2VideoConfigurationListQueryParamsBuilder) => H265V2VideoConfigurationListQueryParamsBuilder)): Promise<PaginationResponse<H265V2VideoConfiguration>>;
}
