import { BaseAPI } from '../../../../../common/BaseAPI';
import Configuration from '../../../../../common/Configuration';
import BitmovinResponse from '../../../../../models/BitmovinResponse';
import Webhook from '../../../../../models/Webhook';
import PaginationResponse from '../../../../../models/PaginationResponse';
/**
 * FinishedApi - object-oriented interface
 * @export
 * @class FinishedApi
 * @extends {BaseAPI}
 */
export default class FinishedApi extends BaseAPI {
    constructor(configuration: Configuration);
    /**
     * @summary Add 'Manifest Finished Successfully' Webhook (All Manifests)
     * @param {Webhook} webhook Add a new webhook notification that triggers if a manifest generation finished successfully. A maximum number of 5 webhooks is allowed
     * @throws {BitmovinError}
     * @memberof FinishedApi
     */
    create(webhook?: Webhook): Promise<Webhook>;
    /**
     * @summary Add 'Manifest Finished Successfully' Webhook Notification (Specific Manifest)
     * @param {string} manifestId Id of the manifest resource
     * @param {Webhook} webhook The webhook notifications object. A maximum number of 5 webhooks per Manifest is allowed
     * @throws {BitmovinError}
     * @memberof FinishedApi
     */
    createByManifestId(manifestId: string, webhook?: Webhook): Promise<Webhook>;
    /**
     * @summary Delete Manifest Finished Webhook
     * @param {string} notificationId Id of the webhook notification
     * @throws {BitmovinError}
     * @memberof FinishedApi
     */
    delete(notificationId: string): Promise<BitmovinResponse>;
    /**
     * @summary Get 'Manifest Finished' Webhooks (All Manifests)
     * @throws {BitmovinError}
     * @memberof FinishedApi
     */
    list(): Promise<PaginationResponse<Webhook>>;
    /**
     * @summary Replace Manifest Finished Webhook Notification
     * @param {string} notificationId Id of the webhook notification
     * @param {Webhook} webhook The webhook notification with the updated values
     * @throws {BitmovinError}
     * @memberof FinishedApi
     */
    update(notificationId: string, webhook?: Webhook): Promise<Webhook>;
}
