import { UberDirectAuth } from './UberDirectAuth.js'; import { QuoteRequest, QuoteResponse, DeliveryData, DeliveryResponse, DeliveryListResponse, PODRequest, PODResponse } from './types/DaasTypes.js'; import { UberDirectTypeProtectErrorHandling } from './UberDirectTypeProtect.js'; import { UberDirectLogger } from './UberDirectLogger.js'; import 'axios'; import './types/AuthTypes.js'; import 'zod'; import './types/logger.js'; /** * UberDirect Direct DaaS API Client * Delivery as a Service (DaaS) is a service that allows you to create deliveries between two addresses. */ declare class UberDirectDaaS extends UberDirectTypeProtectErrorHandling { private readonly auth; private readonly logger; private readonly testMode; constructor(auth: UberDirectAuth, logger?: UberDirectLogger, testMode?: boolean); /** * Create a quote to check deliverability, validity and cost for delivery between two addresses. * @param requestBody * @param customerId */ quote(requestBody: QuoteRequest, customerId?: undefined | string): Promise; /** * Create a delivery between two addresses. * @param requestBody * @param customerId */ createDelivery(requestBody: DeliveryData, customerId?: undefined | string): Promise; /** * Retrieve the current status of an existing delivery * @param deliveryId * @param customerId */ getDelivery(deliveryId: string, customerId?: undefined | string): Promise; /** * Modify an ongoing delivery. * @param deliveryId * @param requestBody * @param customerId */ updateDelivery(deliveryId: string, requestBody: DeliveryData, customerId?: undefined | string): Promise; /** * Cancel an ongoing or previously scheduled delivery. * @param deliveryId * @param customerId */ cancelDelivery(deliveryId: string, customerId?: undefined | string): Promise; /** * List all deliveries for a customer. * @param customerId */ listDeliveries(customerId?: undefined | string): Promise; /** * If you require verification for a delivery, you can retrieve a proof-of-delivery image file through our API. * This file contains information such as the delivery status, timestamp, Uber Order ID, External Order ID, * and the type of proof collected (signature, picture, or pincode). * If signer name or relationship is enabled, it will also be included in the file. * You can use the delivery token, delivery uuid, or UUID from the CreateDelivery response to identify the order when making the API call. * @param deliveryId * @param requestBody * @param customerId */ getPOD(deliveryId: string, requestBody: PODRequest, customerId?: undefined | string): Promise; } export { UberDirectDaaS };