/**
 * AdvancedBilling
 *
 * This file was automatically generated for Maxio by APIMATIC v3.0 ( https://www.apimatic.io ).
 */
import { ApiResponse, RequestOptions } from '../core.js';
import { CleanupScope } from '../models/cleanupScope.js';
import { ListPublicKeysResponse } from '../models/listPublicKeysResponse.js';
import { SiteResponse } from '../models/siteResponse.js';
import { BaseController } from './baseController.js';
export declare class SitesController extends BaseController {
    /**
     * Retrieves site data.
     *
     * Full documentation on Sites in the Advanced Billing UI can be located [here](https://maxio.zendesk.
     * com/hc/en-us/sections/24250550707085-Sites).
     *
     * Specifically, the [Clearing Site Data](https://maxio.zendesk.com/hc/en-us/articles/24250617028365-
     * Clearing-Site-Data) section is relevant to this endpoint documentation.
     *
     * #### Relationship invoicing enabled
     * If the site has RI enabled then you will see more settings like:
     *
     * "customer_hierarchy_enabled": true,
     * "whopays_enabled": true,
     * "whopays_default_payer": "self"
     * You can read more about these settings here:
     * [Who Pays & Customer Hierarchy](https://maxio.zendesk.com/hc/en-us/articles/24252185211533-Customer-
     * Hierarchies-WhoPays)
     *
     * @return Response from the API call
     */
    readSite(requestOptions?: RequestOptions): Promise<ApiResponse<SiteResponse>>;
    /**
     * Clears all data from a test site asynchronously. This call is asynchronous and there may be a delay
     * before the site data is fully deleted. If you are clearing site data for an automated test, you will
     * need to build in a delay and/or check that there are no products, etc., in the site before
     * proceeding.
     *
     * **This functionality will only work on sites in TEST mode. Attempts to perform this on sites in
     * “live” mode will result in a response of 403 FORBIDDEN.**
     *
     *
     * @param cleanupScope  `all`: Will clear all products, customers, and related subscriptions from
     *                                      the site.  `customers`: Will clear only customers and related subscriptions
     *                                      (leaving the products untouched) for the site.  Revenue will also be reset to
     *                                      0. Use in query `cleanup_scope=all`.
     * @return Response from the API call
     */
    clearSite(cleanupScope?: CleanupScope, requestOptions?: RequestOptions): Promise<ApiResponse<void>>;
    /**
     * Returns public keys used for Maxio.js (formerly Chargify.js).
     *
     * @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`.
     * @return Response from the API call
     */
    listChargifyJsPublicKeys({ page, perPage, }: {
        page?: number;
        perPage?: number;
    }, requestOptions?: RequestOptions): Promise<ApiResponse<ListPublicKeysResponse>>;
}
//# sourceMappingURL=sitesController.d.ts.map