export default class Rate {
    /**
     * Create Shipment - This allows you to create a shipment on Terminal Africa
     * @param {Object[]} shipmentData
     * @param {string} shipmentData[].address_from
     * @param {string} shipmentData[].address_to
     * @param {string=} shipmentData[].address_to
     * @param {string=} shipmentData[].metadata
     * @param {string=} shipmentData[].parcel
     * @param {array} shipmentData[].parcels
     * @param {string} shipmentData[].shipment_purpose
     * @param {string} shipmentData[].shipment_type
     * @returns object
     * @method POST
     */
    static createShipment(shipmentData: object): Promise<any>;
    /**
     * Create Quick Shipment - This allows you to create a quick shipment on Terminal Africa
     * @param {Object[]} shipmentData
     * @param {object} shipmentData[].pickup_address
     * @param {object} shipmentData[].delivery_address
     * @param {object} shipmentData[].parcel
     * @param {string=} shipmentData[].metadata
     * @param {string} shipmentData[].shipment_purpose
     * @param {string} shipmentData[].shipment_type
     * @returns object
     * @method POST
     */
    static createQuickShipment(shipmentData: object): Promise<any>;
    /**
     * Update Shipment - This allows you to update an existing shipment on Terminal Africa
     * @param {string} shipmentId
     * @param {Object[]} shipmentData
     * @param {string} shipmentData[].address_from
     * @param {string} shipmentData[].address_to
     * @param {string=} shipmentData[].address_to
     * @param {string=} shipmentData[].metadata
     * @param {string=} shipmentData[].parcel
     * @param {array} shipmentData[].parcels
     * @param {string} shipmentData[].shipment_purpose
     * @param {string} shipmentData[].shipment_type
     * @returns object
     * @method PUT
     */
    static updateShipment(shipmentId: string, shipmentData: object): Promise<any>;
    /**
     * Get Shipments- This allows you to fetch shipments on Terminal Africa
     * @param {string} queryParams
     * @param {string=} queryParams.page
     * @param {string=} queryParams.perPage
     * @param {string=} queryParams.populate
     * @param {string=} queryParams.status
     * @returns object
     * @method GET
     */
    static getShipments(queryParams: any): Promise<any>;
    /**
     * Get Shipment- This allows you to fetch a shipment on Terminal Africa
     * @param {string} shipmentId
     * @returns object
     * @method GET
     */
    static getShipment(shipmentId: string): Promise<any>;
    /**
     * Track Shipment- This allows you to track a shipment on Terminal Africa
     * @param {string} shipmentId
     * @returns object
     * @method GET
     */
    static trackShipment(shipmentId: string): Promise<any>;
    /**
     * Cancel Shipment - This allows you to cancel an existing shipment on Terminal Africa
     * @param {string} shipmentId
     * @returns object
     * @method POST
     */
    static cancelShipment(shipmentId: string): Promise<any>;
    /**
     * Delete Shipment - This allows you to delete an existing shipment on Terminal Africa
     * @param {string} shipmentId
     * @returns object
     * @method DELETE
     */
    static deleteShipment(shipmentId: string): Promise<any>;
    /**
     * Duplicate Shipment - This allows you to duplicate an existing shipment on Terminal Africa
     * @param {string} shipmentId
     * @returns object
     * @method POST
     */
    static duplicateShipment(shipmentId: string): Promise<any>;
    /**
     * Arrange Pickup & Delivery - This allows you to arrange a pickup for delivery on Terminal Africa
     * @param {Object[]} shipmentData
     * @param {string} shipmentData[].rate_id
     * @param {string=} shipmentData[].shipment_id
     * @param {boolean=} shipmentData[].purchase_insurance
     * @param {int=} shipmentData[].cash_to_collect
     * @param {string} shipmentData[].shipment_purpose
     * @returns object
     * @method POST
     */
    static arrangePickup(shipmentData: object): Promise<any>;
}
