/**
 * 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 { DeletePickupByIdResponseBody } from '../models';
import type { GetPickupByIdResponseBody } from '../models';
import type { GetPickupsResponseBody } from '../models';
import type { SchedulePickupRequestBody } from '../models';
import type { SchedulePickupResponseBody1 } from '../models';
/**
 * PackagePickupsApi - axios parameter creator
 * @export
 */
export declare const PackagePickupsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Delete a previously-scheduled pickup by ID
     * @summary Delete a scheduled pickup
     * @param {string} pickupId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteScheduledPickup: (pickupId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Get Pickup By ID
     * @summary Get pickup by id
     * @param {string} pickupId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getPickupById: (pickupId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * List all pickups that have been scheduled for this carrier
     * @summary List scheduled pickups
     * @param {string} [carrierId] Carrier ID
     * @param {string} [warehouseId] Warehouse ID
     * @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 {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 {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listScheduledPickups: (carrierId?: string, warehouseId?: string, createdAtStart?: string, createdAtEnd?: string, page?: number, pageSize?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Schedule a package pickup with a carrier
     * @summary Schedule a pickup
     * @param {SchedulePickupRequestBody} schedulePickupRequestBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    schedulePickup: (schedulePickupRequestBody: SchedulePickupRequestBody, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * PackagePickupsApi - functional programming interface
 * @export
 */
export declare const PackagePickupsApiFp: (configuration?: Configuration) => {
    /**
     * Delete a previously-scheduled pickup by ID
     * @summary Delete a scheduled pickup
     * @param {string} pickupId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteScheduledPickup(pickupId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DeletePickupByIdResponseBody>>;
    /**
     * Get Pickup By ID
     * @summary Get pickup by id
     * @param {string} pickupId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getPickupById(pickupId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetPickupByIdResponseBody>>;
    /**
     * List all pickups that have been scheduled for this carrier
     * @summary List scheduled pickups
     * @param {string} [carrierId] Carrier ID
     * @param {string} [warehouseId] Warehouse ID
     * @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 {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 {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listScheduledPickups(carrierId?: string, warehouseId?: string, createdAtStart?: string, createdAtEnd?: string, page?: number, pageSize?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetPickupsResponseBody>>;
    /**
     * Schedule a package pickup with a carrier
     * @summary Schedule a pickup
     * @param {SchedulePickupRequestBody} schedulePickupRequestBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    schedulePickup(schedulePickupRequestBody: SchedulePickupRequestBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SchedulePickupResponseBody1>>;
};
/**
 * PackagePickupsApi - factory interface
 * @export
 */
export declare const PackagePickupsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Delete a previously-scheduled pickup by ID
     * @summary Delete a scheduled pickup
     * @param {string} pickupId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteScheduledPickup(pickupId: string, options?: RawAxiosRequestConfig): AxiosPromise<DeletePickupByIdResponseBody>;
    /**
     * Get Pickup By ID
     * @summary Get pickup by id
     * @param {string} pickupId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getPickupById(pickupId: string, options?: RawAxiosRequestConfig): AxiosPromise<GetPickupByIdResponseBody>;
    /**
     * List all pickups that have been scheduled for this carrier
     * @summary List scheduled pickups
     * @param {string} [carrierId] Carrier ID
     * @param {string} [warehouseId] Warehouse ID
     * @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 {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 {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listScheduledPickups(carrierId?: string, warehouseId?: string, createdAtStart?: string, createdAtEnd?: string, page?: number, pageSize?: number, options?: RawAxiosRequestConfig): AxiosPromise<GetPickupsResponseBody>;
    /**
     * Schedule a package pickup with a carrier
     * @summary Schedule a pickup
     * @param {SchedulePickupRequestBody} schedulePickupRequestBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    schedulePickup(schedulePickupRequestBody: SchedulePickupRequestBody, options?: RawAxiosRequestConfig): AxiosPromise<SchedulePickupResponseBody1>;
};
/**
 * PackagePickupsApi - object-oriented interface
 * @export
 * @class PackagePickupsApi
 * @extends {BaseAPI}
 */
export declare class PackagePickupsApi extends BaseAPI {
    /**
     * Delete a previously-scheduled pickup by ID
     * @summary Delete a scheduled pickup
     * @param {string} pickupId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PackagePickupsApi
     */
    deleteScheduledPickup(pickupId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<DeletePickupByIdResponseBody, any>>;
    /**
     * Get Pickup By ID
     * @summary Get pickup by id
     * @param {string} pickupId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PackagePickupsApi
     */
    getPickupById(pickupId: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<GetPickupByIdResponseBody, any>>;
    /**
     * List all pickups that have been scheduled for this carrier
     * @summary List scheduled pickups
     * @param {string} [carrierId] Carrier ID
     * @param {string} [warehouseId] Warehouse ID
     * @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 {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 {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PackagePickupsApi
     */
    listScheduledPickups(carrierId?: string, warehouseId?: string, createdAtStart?: string, createdAtEnd?: string, page?: number, pageSize?: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<GetPickupsResponseBody, any>>;
    /**
     * Schedule a package pickup with a carrier
     * @summary Schedule a pickup
     * @param {SchedulePickupRequestBody} schedulePickupRequestBody
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof PackagePickupsApi
     */
    schedulePickup(schedulePickupRequestBody: SchedulePickupRequestBody, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<SchedulePickupResponseBody1, any>>;
}
