import { z } from "zod"; import { BaseRequest } from "./base.request.js"; import { ValidatorService } from "../services/validator.service.js"; import { EncryptionService } from "../services/encryption.service.js"; import { LgsType, ShipType, TradeType, Environment } from "../constants.js"; type CreateOrderRequestContent = z.infer; /** * 建立物流訂單的請求。 */ export declare class CreateOrderRequest extends BaseRequest { protected requestPath: string; /** * 建立 CreateOrderRequest 實例。 * * @param merchantId - Merchant ID。 * @param hashKey - Hash Key。 * @param hashIV - Hash IV。 * @param encryptionService - 可選的自訂 EncryptionService。 * @param environment - API 環境(測試或正式)。預設為測試環境。 */ constructor(merchantId: string, hashKey: string, hashIV: string, encryptionService?: EncryptionService, environment?: Environment); protected validate(): void; /** * 設定交易類型。 * * @param type - 交易類型(例如:PAYMENT, NON_PAYMENT)。 * @returns CreateOrderRequest 實例,支援鏈式呼叫。 */ setTradeType(type: TradeType): this; /** * 設定使用者名稱。 * * @param name - 寄件者姓名。 * @returns CreateOrderRequest 實例,支援鏈式呼叫。 */ setUserName(name: string): this; /** * 設定使用者電話。 * * @param tel - 寄件者電話號碼。 * @returns CreateOrderRequest 實例,支援鏈式呼叫。 */ setUserTel(tel: string): this; /** * 設定使用者電子郵件。 * * @param email - 寄件者電子郵件地址。 * @returns CreateOrderRequest 實例,支援鏈式呼叫。 */ setUserEmail(email: string): this; /** * 設定門市 ID。 * * @param id - 門市 ID(例如:超商門市 ID)。 * @returns CreateOrderRequest 實例,支援鏈式呼叫。 */ setStoreID(id: string): this; /** * 設定金額。 * * @param amt - 訂單金額。 * @returns CreateOrderRequest 實例,支援鏈式呼叫。 */ setAmt(amt: number): this; /** * 設定物流類型。 * * @param type - 物流類型(例如:B2C, C2C)。 * @returns CreateOrderRequest 實例,支援鏈式呼叫。 */ setLgsType(type: LgsType): this; /** * 設定配送類型。 * * @param type - 配送類型(例如:7-11, FAMILY)。 * @returns CreateOrderRequest 實例,支援鏈式呼叫。 */ setShipType(type: ShipType): this; /** * 設定收件者姓名。 * * @param name - 收件者姓名。 * @returns CreateOrderRequest 實例,支援鏈式呼叫。 */ setReceiverName(name: string): this; /** * 設定收件者電話。 * * @param phone - 收件者電話號碼。 * @returns CreateOrderRequest 實例,支援鏈式呼叫。 */ setReceiverPhone(phone: string): this; /** * 設定收件者手機。 * * @param cellPhone - 收件者手機號碼。 * @returns CreateOrderRequest 實例,支援鏈式呼叫。 */ setReceiverCellPhone(cellPhone: string): this; /** * 設定收件者電子郵件。 * * @param email - 收件者電子郵件地址。 * @returns CreateOrderRequest 實例,支援鏈式呼叫。 */ setReceiverEmail(email: string): this; /** * 設定物流子類型。 * * @param subType - 物流子類型(例如:UNIMART, FAMI)。 * @returns CreateOrderRequest 實例,支援鏈式呼叫。 */ setLogisticsSubType(subType: string): this; } export {};