/**
 * 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 { TemplateVersion } from "../models";
import { TemplateVersionDeletion } from "../models";
import { TemplateVersionList } from "../models";
import { TemplateVersionUpdatable } from "../models";
import { TemplateVersionWritable } from "../models";
/**
 * TemplateVersionsApi - axios parameter creator
 * @export
 */
export declare const TemplateVersionsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Creates a new template version attached to the specified template.
     * @summary create
     * @param {string} tmplId The ID of the template the new version will be attached to
     * @param {TemplateVersionWritable} templateVersionWritable
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createTemplateVersion: (tmplId: string, templateVersionWritable: TemplateVersionWritable, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Permanently deletes a template version. A template\'s `published_version` can not be deleted.
     * @summary delete
     * @param {string} tmplId The ID of the template to which the version belongs.
     * @param {string} vrsnId id of the template_version
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    templateVersionDelete: (tmplId: string, vrsnId: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Retrieves the template version with the given template and version ids.
     * @summary get
     * @param {string} tmplId The ID of the template to which the version belongs.
     * @param {string} vrsnId id of the template_version
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    templateVersionRetrieve: (tmplId: string, vrsnId: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Updates the template version with the given template and version ids.
     * @summary update
     * @param {string} tmplId The ID of the template to which the version belongs.
     * @param {string} vrsnId id of the template_version
     * @param {TemplateVersionUpdatable} templateVersionUpdatable
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    templateVersionUpdate: (tmplId: string, vrsnId: string, templateVersionUpdatable: TemplateVersionUpdatable, options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a list of template versions for the given template ID. The template versions are sorted by creation date, with the most recently created appearing first.
     * @summary list
     * @param {string} tmplId The ID of the template associated with the retrieved versions
     * @param {number} [limit] How many results to return.
     * @param {string} [before] A reference to a list entry used for paginating to the previous set of entries. This field is pre-populated in the &#x60;previous_url&#x60; field in the return response.
     * @param {string} [after] A reference to a list entry used for paginating to the next set of entries. This field is pre-populated in the &#x60;next_url&#x60; field in the return response.
     * @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 {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    templateVersionsList: (tmplId: string, limit?: number, before?: string, after?: string, include?: Array<string>, dateCreated?: {
        [key: string]: string;
    } | undefined, options?: AxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * TemplateVersionsApi - functional programming interface
 * @export
 */
export declare const TemplateVersionsApiFp: (configuration?: Configuration) => {
    /**
     * Creates a new template version attached to the specified template.
     * @summary create
     * @param {string} tmplId The ID of the template the new version will be attached to
     * @param {TemplateVersionWritable} templateVersionWritable
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createTemplateVersion(tmplId: string, templateVersionWritable: TemplateVersionWritable, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TemplateVersion>>;
    /**
     * Permanently deletes a template version. A template\'s `published_version` can not be deleted.
     * @summary delete
     * @param {string} tmplId The ID of the template to which the version belongs.
     * @param {string} vrsnId id of the template_version
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    templateVersionDelete(tmplId: string, vrsnId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TemplateVersionDeletion>>;
    /**
     * Retrieves the template version with the given template and version ids.
     * @summary get
     * @param {string} tmplId The ID of the template to which the version belongs.
     * @param {string} vrsnId id of the template_version
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    templateVersionRetrieve(tmplId: string, vrsnId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TemplateVersion>>;
    /**
     * Updates the template version with the given template and version ids.
     * @summary update
     * @param {string} tmplId The ID of the template to which the version belongs.
     * @param {string} vrsnId id of the template_version
     * @param {TemplateVersionUpdatable} templateVersionUpdatable
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    templateVersionUpdate(tmplId: string, vrsnId: string, templateVersionUpdatable: TemplateVersionUpdatable, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TemplateVersion>>;
    /**
     * Returns a list of template versions for the given template ID. The template versions are sorted by creation date, with the most recently created appearing first.
     * @summary list
     * @param {string} tmplId The ID of the template associated with the retrieved versions
     * @param {number} [limit] How many results to return.
     * @param {string} [before] A reference to a list entry used for paginating to the previous set of entries. This field is pre-populated in the &#x60;previous_url&#x60; field in the return response.
     * @param {string} [after] A reference to a list entry used for paginating to the next set of entries. This field is pre-populated in the &#x60;next_url&#x60; field in the return response.
     * @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 {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    templateVersionsList(tmplId: string, limit?: number, before?: string, after?: string, include?: Array<string>, dateCreated?: {
        [key: string]: string;
    } | undefined, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TemplateVersionList>>;
};
/**
 * TemplateVersionsApi - object-oriented interface
 * @export
 * @class TemplateVersionsApi
 * @extends {BaseAPI}
 */
export declare class TemplateVersionsApi extends BaseAPI {
    /**
     * Creates a new template version attached to the specified template.
     * @summary create
     * @param {string} tmplId The ID of the template the new version will be attached to
     * @param {TemplateVersionWritable} templateVersionWritable
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TemplateVersionsApi
     */
    create(tmplId: string, templateVersionWritable: TemplateVersionWritable, options?: AxiosRequestConfig): Promise<TemplateVersion>;
    /**
     * Permanently deletes a template version. A template\'s `published_version` can not be deleted.
     * @summary delete
     * @param {string} tmplId The ID of the template to which the version belongs.
     * @param {string} vrsnId id of the template_version
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TemplateVersionsApi
     */
    delete(tmplId: string, vrsnId: string, options?: AxiosRequestConfig): Promise<TemplateVersionDeletion>;
    /**
     * Retrieves the template version with the given template and version ids.
     * @summary get
     * @param {string} tmplId The ID of the template to which the version belongs.
     * @param {string} vrsnId id of the template_version
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TemplateVersionsApi
     */
    get(tmplId: string, vrsnId: string, options?: AxiosRequestConfig): Promise<TemplateVersion>;
    /**
     * Updates the template version with the given template and version ids.
     * @summary update
     * @param {string} tmplId The ID of the template to which the version belongs.
     * @param {string} vrsnId id of the template_version
     * @param {TemplateVersionUpdatable} templateVersionUpdatable
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TemplateVersionsApi
     */
    update(tmplId: string, vrsnId: string, templateVersionUpdatable: TemplateVersionUpdatable, options?: AxiosRequestConfig): Promise<TemplateVersion>;
    /**
     * Returns a list of template versions for the given template ID. The template versions are sorted by creation date, with the most recently created appearing first.
     * @summary list
     * @param {string} tmplId The ID of the template associated with the retrieved versions
     * @param {number} [limit] How many results to return.
     * @param {string} [before] A reference to a list entry used for paginating to the previous set of entries. This field is pre-populated in the &#x60;previous_url&#x60; field in the return response.
     * @param {string} [after] A reference to a list entry used for paginating to the next set of entries. This field is pre-populated in the &#x60;next_url&#x60; field in the return response.
     * @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 {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TemplateVersionsApi
     */
    list(tmplId: string, limit?: number, before?: string, after?: string, include?: Array<string>, dateCreated?: {
        [key: string]: string;
    }, options?: AxiosRequestConfig): Promise<TemplateVersionList>;
}
/**
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
