/**
 * AdvancedBilling
 *
 * This file was automatically generated for Maxio by APIMATIC v3.0 ( https://www.apimatic.io ).
 */
import { ApiResponse, RequestOptions } from '../core.js';
import { DeductServiceCreditRequest } from '../models/deductServiceCreditRequest.js';
import { IssueServiceCreditRequest } from '../models/issueServiceCreditRequest.js';
import { ListPrepaymentsFilter } from '../models/listPrepaymentsFilter.js';
import { ListSubscriptionGroupPrepaymentResponse } from '../models/listSubscriptionGroupPrepaymentResponse.js';
import { ServiceCredit } from '../models/serviceCredit.js';
import { ServiceCreditResponse } from '../models/serviceCreditResponse.js';
import { SubscriptionGroupPrepaymentRequest } from '../models/subscriptionGroupPrepaymentRequest.js';
import { SubscriptionGroupPrepaymentResponse } from '../models/subscriptionGroupPrepaymentResponse.js';
import { BaseController } from './baseController.js';
export declare class SubscriptionGroupInvoiceAccountController extends BaseController {
    /**
     * Adds a prepayment for a subscription group. This endpoint requires an `amount`, `details`, `method`,
     * and `memo`. On success, the prepayment will be added to the group's prepayment balance.
     *
     * @param uid          The uid of the subscription group
     * @param body
     * @return Response from the API call
     */
    createSubscriptionGroupPrepayment(uid: string, body?: SubscriptionGroupPrepaymentRequest, requestOptions?: RequestOptions): Promise<ApiResponse<SubscriptionGroupPrepaymentResponse>>;
    /**
     * Lists a subscription group's prepayments.
     *
     * @param uid      The uid of the subscription group
     * @param page     Result records are organized in pages. By default, the first page
     *                                                 of results is displayed. The page parameter specifies a page
     *                                                 number of results to fetch. You can start navigating through the
     *                                                 pages to consume the results. You do this by passing in a page
     *                                                 parameter. Retrieve the next page by adding ?page=2 to the query
     *                                                 string. If there are no results to return, then an empty result
     *                                                 set will be returned. Use in query `page=1`.
     * @param perPage  This parameter indicates how many records to fetch in each
     *                                                 request. Default value is 20. The maximum allowed values is 200;
     *                                                 any per_page value over 200 will be changed to 200. Use in query
     *                                                 `per_page=200`.
     * @param filter   Filter to use for List Prepayments operations
     * @return Response from the API call
     */
    listPrepaymentsForSubscriptionGroup({ uid, page, perPage, filter, }: {
        uid: string;
        page?: number;
        perPage?: number;
        filter?: ListPrepaymentsFilter;
    }, requestOptions?: RequestOptions): Promise<ApiResponse<ListSubscriptionGroupPrepaymentResponse>>;
    /**
     * Issues service credit for a subscription group. Credit will be added to the group in the amount
     * specified in the request body. The credit will be applied to group member invoices as they are
     * generated.
     *
     * @param uid          The uid of the subscription group
     * @param body
     * @return Response from the API call
     */
    issueSubscriptionGroupServiceCredit(uid: string, body?: IssueServiceCreditRequest, requestOptions?: RequestOptions): Promise<ApiResponse<ServiceCreditResponse>>;
    /**
     * Deducts service credit for a subscription group. Credit will be deducted from the group in the
     * amount specified in the request body.
     *
     * @param uid          The uid of the subscription group
     * @param body
     * @return Response from the API call
     */
    deductSubscriptionGroupServiceCredit(uid: string, body?: DeductServiceCreditRequest, requestOptions?: RequestOptions): Promise<ApiResponse<ServiceCredit>>;
}
//# sourceMappingURL=subscriptionGroupInvoiceAccountController.d.ts.map