/**
 * ShipStation API v2
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 2.0.0
 *
 *
 * 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 { CreateManifestRequestBody } from '../models';
import type { CreateManifestResponseBody } from '../models';
import type { GetManifestByIdResponseBody } from '../models';
import type { ListManifestsResponseBody } from '../models';
/**
 * ManifestsApi - axios parameter creator
 * @export
 */
export declare const ManifestsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Each ShipStation manifest is created for a specific warehouse, so you\'ll need to provide the warehouse_id rather than the ship_from address. You can create a warehouse for each location that you want to create manifests for.
     * @summary Create manifest
     * @param {CreateManifestRequestBody} createManifestRequestBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createManifest: (createManifestRequestBody: CreateManifestRequestBody, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Get Manifest By Id
     * @summary Get manifest by id
     * @param {string} manifestId The Manifest Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getManifestById: (manifestId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Similar to querying shipments, we allow you to query manifests since there will likely be a large number over a long period of time.
     * @summary List manifests
     * @param {string} [warehouseId] Warehouse ID
     * @param {string} [shipDateStart] ship date start range
     * @param {string} [shipDateEnd] ship date end range
     * @param {string} [createdAtStart] Used to create a filter for when a resource was created (ex. A shipment that was created after a certain time)
     * @param {string} [createdAtEnd] Used to create a filter for when a resource was created, (ex. A shipment that was created before a certain time)
     * @param {string} [carrierId] Carrier ID
     * @param {number} [page] Return a specific page of results. Defaults to the first page. If set to a number that\&#39;s greater than the number of pages of results, an empty page is returned.
     * @param {number} [pageSize] The number of results to return per response.
     * @param {Array<string>} [labelIds]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listManifests: (warehouseId?: string, shipDateStart?: string, shipDateEnd?: string, createdAtStart?: string, createdAtEnd?: string, carrierId?: string, page?: number, pageSize?: number, labelIds?: Array<string>, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * ManifestsApi - functional programming interface
 * @export
 */
export declare const ManifestsApiFp: (configuration?: Configuration) => {
    /**
     * Each ShipStation manifest is created for a specific warehouse, so you\'ll need to provide the warehouse_id rather than the ship_from address. You can create a warehouse for each location that you want to create manifests for.
     * @summary Create manifest
     * @param {CreateManifestRequestBody} createManifestRequestBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createManifest(createManifestRequestBody: CreateManifestRequestBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateManifestResponseBody>>;
    /**
     * Get Manifest By Id
     * @summary Get manifest by id
     * @param {string} manifestId The Manifest Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getManifestById(manifestId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetManifestByIdResponseBody>>;
    /**
     * Similar to querying shipments, we allow you to query manifests since there will likely be a large number over a long period of time.
     * @summary List manifests
     * @param {string} [warehouseId] Warehouse ID
     * @param {string} [shipDateStart] ship date start range
     * @param {string} [shipDateEnd] ship date end range
     * @param {string} [createdAtStart] Used to create a filter for when a resource was created (ex. A shipment that was created after a certain time)
     * @param {string} [createdAtEnd] Used to create a filter for when a resource was created, (ex. A shipment that was created before a certain time)
     * @param {string} [carrierId] Carrier ID
     * @param {number} [page] Return a specific page of results. Defaults to the first page. If set to a number that\&#39;s greater than the number of pages of results, an empty page is returned.
     * @param {number} [pageSize] The number of results to return per response.
     * @param {Array<string>} [labelIds]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listManifests(warehouseId?: string, shipDateStart?: string, shipDateEnd?: string, createdAtStart?: string, createdAtEnd?: string, carrierId?: string, page?: number, pageSize?: number, labelIds?: Array<string>, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListManifestsResponseBody>>;
};
/**
 * ManifestsApi - factory interface
 * @export
 */
export declare const ManifestsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Each ShipStation manifest is created for a specific warehouse, so you\'ll need to provide the warehouse_id rather than the ship_from address. You can create a warehouse for each location that you want to create manifests for.
     * @summary Create manifest
     * @param {CreateManifestRequestBody} createManifestRequestBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createManifest(createManifestRequestBody: CreateManifestRequestBody, options?: RawAxiosRequestConfig): AxiosPromise<CreateManifestResponseBody>;
    /**
     * Get Manifest By Id
     * @summary Get manifest by id
     * @param {string} manifestId The Manifest Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getManifestById(manifestId: string, options?: RawAxiosRequestConfig): AxiosPromise<GetManifestByIdResponseBody>;
    /**
     * Similar to querying shipments, we allow you to query manifests since there will likely be a large number over a long period of time.
     * @summary List manifests
     * @param {string} [warehouseId] Warehouse ID
     * @param {string} [shipDateStart] ship date start range
     * @param {string} [shipDateEnd] ship date end range
     * @param {string} [createdAtStart] Used to create a filter for when a resource was created (ex. A shipment that was created after a certain time)
     * @param {string} [createdAtEnd] Used to create a filter for when a resource was created, (ex. A shipment that was created before a certain time)
     * @param {string} [carrierId] Carrier ID
     * @param {number} [page] Return a specific page of results. Defaults to the first page. If set to a number that\&#39;s greater than the number of pages of results, an empty page is returned.
     * @param {number} [pageSize] The number of results to return per response.
     * @param {Array<string>} [labelIds]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listManifests(warehouseId?: string, shipDateStart?: string, shipDateEnd?: string, createdAtStart?: string, createdAtEnd?: string, carrierId?: string, page?: number, pageSize?: number, labelIds?: Array<string>, options?: RawAxiosRequestConfig): AxiosPromise<ListManifestsResponseBody>;
};
/**
 * ManifestsApi - object-oriented interface
 * @export
 * @class ManifestsApi
 * @extends {BaseAPI}
 */
export declare class ManifestsApi extends BaseAPI {
    /**
     * Each ShipStation manifest is created for a specific warehouse, so you\'ll need to provide the warehouse_id rather than the ship_from address. You can create a warehouse for each location that you want to create manifests for.
     * @summary Create manifest
     * @param {CreateManifestRequestBody} createManifestRequestBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ManifestsApi
     */
    createManifest(createManifestRequestBody: CreateManifestRequestBody, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CreateManifestResponseBody, any>>;
    /**
     * Get Manifest By Id
     * @summary Get manifest by id
     * @param {string} manifestId The Manifest Id
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ManifestsApi
     */
    getManifestById(manifestId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<import("../models").Manifest, any>>;
    /**
     * Similar to querying shipments, we allow you to query manifests since there will likely be a large number over a long period of time.
     * @summary List manifests
     * @param {string} [warehouseId] Warehouse ID
     * @param {string} [shipDateStart] ship date start range
     * @param {string} [shipDateEnd] ship date end range
     * @param {string} [createdAtStart] Used to create a filter for when a resource was created (ex. A shipment that was created after a certain time)
     * @param {string} [createdAtEnd] Used to create a filter for when a resource was created, (ex. A shipment that was created before a certain time)
     * @param {string} [carrierId] Carrier ID
     * @param {number} [page] Return a specific page of results. Defaults to the first page. If set to a number that\&#39;s greater than the number of pages of results, an empty page is returned.
     * @param {number} [pageSize] The number of results to return per response.
     * @param {Array<string>} [labelIds]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ManifestsApi
     */
    listManifests(warehouseId?: string, shipDateStart?: string, shipDateEnd?: string, createdAtStart?: string, createdAtEnd?: string, carrierId?: string, page?: number, pageSize?: number, labelIds?: Array<string>, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ListManifestsResponseBody, any>>;
}
