/**
 * Communication API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 1.0.1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import { type RequestArgs, BaseAPI } from '../base';
import type { CertificateLanguage } from '../models';
import type { CertificateUrlPublic } from '../models';
import type { FccLabelRequest } from '../models';
import type { FccLabelResponse } from '../models';
/**
 * CommunicationApi - axios parameter creator
 */
export declare const CommunicationApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Returns a pre-signed certificate PDF URL for the specified `orderId` and `language`. Optionally customize the filename using the `filename` query parameter.
     * @summary Retrieve a certificate for a specific order and language
     * @param {string} orderId The ID of the order for which to retrieve the certificate.
     * @param {CertificateLanguage} language The language in which the certificate should be generated.
     * @param {string} [filename] The filename of the certificate PDF. File extension will be ignored.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getCertificate: (orderId: string, language: CertificateLanguage, filename?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Get or Generate FCC labels based on the provided data.
     * @summary Get or Generate FCC labels
     * @param {FccLabelRequest} fccLabelRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getFccLabel: (fccLabelRequest: FccLabelRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * CommunicationApi - functional programming interface
 */
export declare const CommunicationApiFp: (configuration?: Configuration) => {
    /**
     * Returns a pre-signed certificate PDF URL for the specified `orderId` and `language`. Optionally customize the filename using the `filename` query parameter.
     * @summary Retrieve a certificate for a specific order and language
     * @param {string} orderId The ID of the order for which to retrieve the certificate.
     * @param {CertificateLanguage} language The language in which the certificate should be generated.
     * @param {string} [filename] The filename of the certificate PDF. File extension will be ignored.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getCertificate(orderId: string, language: CertificateLanguage, filename?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CertificateUrlPublic>>;
    /**
     * Get or Generate FCC labels based on the provided data.
     * @summary Get or Generate FCC labels
     * @param {FccLabelRequest} fccLabelRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getFccLabel(fccLabelRequest: FccLabelRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<FccLabelResponse>>;
};
/**
 * CommunicationApi - factory interface
 */
export declare const CommunicationApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Returns a pre-signed certificate PDF URL for the specified `orderId` and `language`. Optionally customize the filename using the `filename` query parameter.
     * @summary Retrieve a certificate for a specific order and language
     * @param {CommunicationApiGetCertificateRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getCertificate(requestParameters: CommunicationApiGetCertificateRequest, options?: RawAxiosRequestConfig): AxiosPromise<CertificateUrlPublic>;
    /**
     * Get or Generate FCC labels based on the provided data.
     * @summary Get or Generate FCC labels
     * @param {CommunicationApiGetFccLabelRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getFccLabel(requestParameters: CommunicationApiGetFccLabelRequest, options?: RawAxiosRequestConfig): AxiosPromise<FccLabelResponse>;
};
/**
 * Request parameters for getCertificate operation in CommunicationApi.
 */
export interface CommunicationApiGetCertificateRequest {
    /**
     * The ID of the order for which to retrieve the certificate.
     */
    readonly orderId: string;
    /**
     * The language in which the certificate should be generated.
     */
    readonly language: CertificateLanguage;
    /**
     * The filename of the certificate PDF. File extension will be ignored.
     */
    readonly filename?: string;
}
/**
 * Request parameters for getFccLabel operation in CommunicationApi.
 */
export interface CommunicationApiGetFccLabelRequest {
    readonly fccLabelRequest: FccLabelRequest;
}
/**
 * CommunicationApi - object-oriented interface
 */
export declare class CommunicationApi extends BaseAPI {
    /**
     * Returns a pre-signed certificate PDF URL for the specified `orderId` and `language`. Optionally customize the filename using the `filename` query parameter.
     * @summary Retrieve a certificate for a specific order and language
     * @param {CommunicationApiGetCertificateRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getCertificate(requestParameters: CommunicationApiGetCertificateRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CertificateUrlPublic, any, {}>>;
    /**
     * Get or Generate FCC labels based on the provided data.
     * @summary Get or Generate FCC labels
     * @param {CommunicationApiGetFccLabelRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getFccLabel(requestParameters: CommunicationApiGetFccLabelRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<FccLabelResponse, any, {}>>;
}
