/**
 * AdvancedBilling
 *
 * This file was automatically generated for Maxio by APIMATIC v3.0 ( https://www.apimatic.io ).
 */
import { ApiResponse, RequestOptions } from '../core.js';
import { ScheduledRenewalConfigurationItemRequest } from '../models/scheduledRenewalConfigurationItemRequest.js';
import { ScheduledRenewalConfigurationItemResponse } from '../models/scheduledRenewalConfigurationItemResponse.js';
import { ScheduledRenewalConfigurationRequest } from '../models/scheduledRenewalConfigurationRequest.js';
import { ScheduledRenewalConfigurationResponse } from '../models/scheduledRenewalConfigurationResponse.js';
import { ScheduledRenewalConfigurationsResponse } from '../models/scheduledRenewalConfigurationsResponse.js';
import { ScheduledRenewalLockInRequest } from '../models/scheduledRenewalLockInRequest.js';
import { ScheduledRenewalUpdateRequest } from '../models/scheduledRenewalUpdateRequest.js';
import { Status } from '../models/status.js';
import { BaseController } from './baseController.js';
export declare class SubscriptionRenewalsController extends BaseController {
    /**
     * Creates a scheduled renewal configuration for a subscription. The scheduled renewal is based on the
     * subscription’s current product and component setup.
     *
     * @param subscriptionId  The Chargify id of the subscription.
     * @param body
     * @return Response from the API call
     */
    createScheduledRenewalConfiguration(subscriptionId: number, body?: ScheduledRenewalConfigurationRequest, requestOptions?: RequestOptions): Promise<ApiResponse<ScheduledRenewalConfigurationResponse>>;
    /**
     * Lists scheduled renewal configurations for the subscription and permits an optional status query
     * filter.
     *
     * @param subscriptionId  The Chargify id of the subscription.
     * @param status          (Optional) Status filter for scheduled renewal configurations.
     * @return Response from the API call
     */
    listScheduledRenewalConfigurations(subscriptionId: number, status?: Status, requestOptions?: RequestOptions): Promise<ApiResponse<ScheduledRenewalConfigurationsResponse>>;
    /**
     * Retrieves the configuration settings for the scheduled renewal.
     *
     * @param subscriptionId  The Chargify id of the subscription.
     * @param id              The renewal id.
     * @return Response from the API call
     */
    readScheduledRenewalConfiguration(subscriptionId: number, id: number, requestOptions?: RequestOptions): Promise<ApiResponse<ScheduledRenewalConfigurationResponse>>;
    /**
     * Updates an existing configuration.
     *
     * @param subscriptionId  The Chargify id of the subscription.
     * @param id              The renewal id.
     * @param body
     * @return Response from the API call
     */
    updateScheduledRenewalConfiguration(subscriptionId: number, id: number, body?: ScheduledRenewalConfigurationRequest, requestOptions?: RequestOptions): Promise<ApiResponse<ScheduledRenewalConfigurationResponse>>;
    /**
     * Schedules a future lock-in date for the renewal.
     *
     * @param subscriptionId  The Chargify id of the subscription.
     * @param id              The renewal id.
     * @param body
     * @return Response from the API call
     */
    scheduleScheduledRenewalLockIn(subscriptionId: number, id: number, body?: ScheduledRenewalLockInRequest, requestOptions?: RequestOptions): Promise<ApiResponse<ScheduledRenewalConfigurationResponse>>;
    /**
     * Locks in the renewal immediately.
     *
     * @param subscriptionId  The Chargify id of the subscription.
     * @param id              The renewal id.
     * @return Response from the API call
     */
    lockInScheduledRenewalImmediately(subscriptionId: number, id: number, requestOptions?: RequestOptions): Promise<ApiResponse<ScheduledRenewalConfigurationResponse>>;
    /**
     * Returns a scheduled renewal configuration to an editable state.
     *
     * @param subscriptionId  The Chargify id of the subscription.
     * @param id              The renewal id.
     * @return Response from the API call
     */
    unpublishScheduledRenewalConfiguration(subscriptionId: number, id: number, requestOptions?: RequestOptions): Promise<ApiResponse<ScheduledRenewalConfigurationResponse>>;
    /**
     * Cancels a scheduled renewal configuration.
     *
     * @param subscriptionId  The Chargify id of the subscription.
     * @param id              The renewal id.
     * @return Response from the API call
     */
    cancelScheduledRenewalConfiguration(subscriptionId: number, id: number, requestOptions?: RequestOptions): Promise<ApiResponse<ScheduledRenewalConfigurationResponse>>;
    /**
     * Adds product and component line items to the scheduled renewal.
     *
     * @param subscriptionId                      The Chargify id of
     *                                                                                               the subscription.
     * @param scheduledRenewalsConfigurationId    The scheduled
     *                                                                                               renewal
     *                                                                                               configuration id.
     * @param body
     * @return Response from the API call
     */
    createScheduledRenewalConfigurationItem(subscriptionId: number, scheduledRenewalsConfigurationId: number, body?: ScheduledRenewalConfigurationItemRequest, requestOptions?: RequestOptions): Promise<ApiResponse<ScheduledRenewalConfigurationItemResponse>>;
    /**
     * Updates an existing configuration item’s pricing and quantity.
     *
     * @param subscriptionId                      The Chargify id of the
     *                                                                                    subscription.
     * @param scheduledRenewalsConfigurationId    The scheduled renewal
     *                                                                                    configuration id.
     * @param id                                  The scheduled renewal
     *                                                                                    configuration item id.
     * @param body
     * @return Response from the API call
     */
    updateScheduledRenewalConfigurationItem(subscriptionId: number, scheduledRenewalsConfigurationId: number, id: number, body?: ScheduledRenewalUpdateRequest, requestOptions?: RequestOptions): Promise<ApiResponse<ScheduledRenewalConfigurationItemResponse>>;
    /**
     * Removes an item from the pending renewal configuration.
     *
     * @param subscriptionId                      The Chargify id of the subscription.
     * @param scheduledRenewalsConfigurationId    The scheduled renewal configuration id.
     * @param id                                  The scheduled renewal configuration item id.
     * @return Response from the API call
     */
    deleteScheduledRenewalConfigurationItem(subscriptionId: number, scheduledRenewalsConfigurationId: number, id: number, requestOptions?: RequestOptions): Promise<ApiResponse<void>>;
}
//# sourceMappingURL=subscriptionRenewalsController.d.ts.map