import { BaseAPI } from '../../../../common/BaseAPI';
import Configuration from '../../../../common/Configuration';
import CustomdataApi from './customdata/CustomdataApi';
import Bif from '../../../../models/Bif';
import BitmovinResponse from '../../../../models/BitmovinResponse';
import PaginationResponse from '../../../../models/PaginationResponse';
import { BifListQueryParams, BifListQueryParamsBuilder } from './BifListQueryParams';
/**
 * BifsApi - object-oriented interface
 * @export
 * @class BifsApi
 * @extends {BaseAPI}
 */
export default class BifsApi extends BaseAPI {
    customdata: CustomdataApi;
    constructor(configuration: Configuration);
    /**
     * @summary Add a Roku Bif file
     * @param {string} encodingId Id of the encoding.
     * @param {string} streamId Id of the stream.
     * @param {Bif} bif The Roku Bif file to be added
     * @throws {BitmovinError}
     * @memberof BifsApi
     */
    create(encodingId: string, streamId: string, bif?: Bif): Promise<Bif>;
    /**
     * @summary Delete Bif
     * @param {string} encodingId Id of the encoding.
     * @param {string} streamId Id of the stream.
     * @param {string} bifId Id of the Bif.
     * @throws {BitmovinError}
     * @memberof BifsApi
     */
    delete(encodingId: string, streamId: string, bifId: string): Promise<BitmovinResponse>;
    /**
     * @summary Bif Details
     * @param {string} encodingId Id of the encoding.
     * @param {string} streamId Id of the stream.
     * @param {string} bifId Id of the Bif configuration.
     * @throws {BitmovinError}
     * @memberof BifsApi
     */
    get(encodingId: string, streamId: string, bifId: string): Promise<Bif>;
    /**
     * @summary List Bifs
     * @param {string} encodingId Id of the encoding.
     * @param {string} streamId Id of the stream.
     * @param {*} [queryParameters] query parameters for filtering, sorting and pagination
     * @throws {BitmovinError}
     * @memberof BifsApi
     */
    list(encodingId: string, streamId: string, queryParameters?: BifListQueryParams | ((q: BifListQueryParamsBuilder) => BifListQueryParamsBuilder)): Promise<PaginationResponse<Bif>>;
}
