/**
 * Lob
 * The Lob API is organized around REST. Our API is designed to have predictable, resource-oriented URLs and uses HTTP response codes to indicate any API errors. <p> Looking for our [previous documentation](https://lob.github.io/legacy-docs/)?
 *
 * The version of the OpenAPI document: 1.3.0
 * Contact: lob-openapi@lob.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { AxiosPromise, AxiosInstance, AxiosRequestConfig } from "axios";
import { Configuration } from "../configuration";
import { RequestArgs, BaseAPI } from "../base";
import { BillingGroup } from "../models";
import { BillingGroupEditable } from "../models";
import { BillingGroupList } from "../models";
/**
 * BillingGroupsApi - axios parameter creator
 * @export
 */
export declare const BillingGroupsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Creates a new billing_group with the provided properties.
     * @summary create
     * @param {BillingGroupEditable} billingGroupEditable
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    billingGroupCreate: (billingGroupEditable: BillingGroupEditable, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Retrieves the details of an existing billing_group. You need only supply the unique billing_group identifier that was returned upon billing_group creation.
     * @summary get
     * @param {string} bgId id of the billing_group
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    billingGroupRetrieve: (bgId: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Updates all editable attributes of the billing_group with the given id.
     * @summary update
     * @param {string} bgId id of the billing_group
     * @param {BillingGroupEditable} billingGroupEditable
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    billingGroupUpdate: (bgId: string, billingGroupEditable: BillingGroupEditable, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a list of your billing_groups. The billing_groups are returned sorted by creation date, with the most recently created billing_groups appearing first.
     * @summary list
     * @param {number} [limit] How many results to return.
     * @param {number} [offset] An integer that designates the offset at which to begin returning results. Defaults to 0.
     * @param {Array<string>} [include] Request that the response include the total count by specifying &#x60;include[]&#x3D;total_count&#x60;.
     * @param {{ [key: string]: string; }} [dateCreated] Filter by date created.
     * @param {{ [key: string]: string; }} [dateModified] Filter by date modified.
     * @param {object} [sortByDateModified] Sorts items by ascending or descending dates. Use either &#x60;date_created&#x60; or &#x60;date_modfied&#x60;, not both.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    billingGroupsList: (limit?: number, offset?: number, include?: Array<string>, dateCreated?: {
        [key: string]: string;
    } | undefined, dateModified?: {
        [key: string]: string;
    } | undefined, sortByDateModified?: object, options?: AxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * BillingGroupsApi - functional programming interface
 * @export
 */
export declare const BillingGroupsApiFp: (configuration?: Configuration) => {
    /**
     * Creates a new billing_group with the provided properties.
     * @summary create
     * @param {BillingGroupEditable} billingGroupEditable
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    billingGroupCreate(billingGroupEditable: BillingGroupEditable, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BillingGroup>>;
    /**
     * Retrieves the details of an existing billing_group. You need only supply the unique billing_group identifier that was returned upon billing_group creation.
     * @summary get
     * @param {string} bgId id of the billing_group
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    billingGroupRetrieve(bgId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BillingGroup>>;
    /**
     * Updates all editable attributes of the billing_group with the given id.
     * @summary update
     * @param {string} bgId id of the billing_group
     * @param {BillingGroupEditable} billingGroupEditable
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    billingGroupUpdate(bgId: string, billingGroupEditable: BillingGroupEditable, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BillingGroup>>;
    /**
     * Returns a list of your billing_groups. The billing_groups are returned sorted by creation date, with the most recently created billing_groups appearing first.
     * @summary list
     * @param {number} [limit] How many results to return.
     * @param {number} [offset] An integer that designates the offset at which to begin returning results. Defaults to 0.
     * @param {Array<string>} [include] Request that the response include the total count by specifying &#x60;include[]&#x3D;total_count&#x60;.
     * @param {{ [key: string]: string; }} [dateCreated] Filter by date created.
     * @param {{ [key: string]: string; }} [dateModified] Filter by date modified.
     * @param {object} [sortByDateModified] Sorts items by ascending or descending dates. Use either &#x60;date_created&#x60; or &#x60;date_modfied&#x60;, not both.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    billingGroupsList(limit?: number, offset?: number, include?: Array<string>, dateCreated?: {
        [key: string]: string;
    } | undefined, dateModified?: {
        [key: string]: string;
    } | undefined, sortByDateModified?: object, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BillingGroupList>>;
};
/**
 * BillingGroupsApi - object-oriented interface
 * @export
 * @class BillingGroupsApi
 * @extends {BaseAPI}
 */
export declare class BillingGroupsApi extends BaseAPI {
    /**
     * Creates a new billing_group with the provided properties.
     * @summary create
     * @param {BillingGroupEditable} billingGroupEditable
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof BillingGroupsApi
     */
    create(billingGroupEditable: BillingGroupEditable, options?: AxiosRequestConfig): Promise<BillingGroup>;
    /**
     * Retrieves the details of an existing billing_group. You need only supply the unique billing_group identifier that was returned upon billing_group creation.
     * @summary get
     * @param {string} bgId id of the billing_group
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof BillingGroupsApi
     */
    get(bgId: string, options?: AxiosRequestConfig): Promise<BillingGroup>;
    /**
     * Updates all editable attributes of the billing_group with the given id.
     * @summary update
     * @param {string} bgId id of the billing_group
     * @param {BillingGroupEditable} billingGroupEditable
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof BillingGroupsApi
     */
    update(bgId: string, billingGroupEditable: BillingGroupEditable, options?: AxiosRequestConfig): Promise<BillingGroup>;
    /**
     * Returns a list of your billing_groups. The billing_groups are returned sorted by creation date, with the most recently created billing_groups appearing first.
     * @summary list
     * @param {number} [limit] How many results to return.
     * @param {number} [offset] An integer that designates the offset at which to begin returning results. Defaults to 0.
     * @param {Array<string>} [include] Request that the response include the total count by specifying &#x60;include[]&#x3D;total_count&#x60;.
     * @param {{ [key: string]: string; }} [dateCreated] Filter by date created.
     * @param {{ [key: string]: string; }} [dateModified] Filter by date modified.
     * @param {object} [sortByDateModified] Sorts items by ascending or descending dates. Use either &#x60;date_created&#x60; or &#x60;date_modfied&#x60;, not both.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof BillingGroupsApi
     */
    list(limit?: number, offset?: number, include?: Array<string>, dateCreated?: {
        [key: string]: string;
    }, dateModified?: {
        [key: string]: string;
    }, sortByDateModified?: object, options?: AxiosRequestConfig): Promise<BillingGroupList>;
}
/**
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
