import { Content } from '../base/Content.js'; import { LogisticsSubType } from '../enums/LogisticsSubType.js'; /** * PrintCvsDocument - 列印超商 C2C 取貨單 * * 用於列印 C2C(店到店)超商取貨的寄貨單/託運單。 * * 注意:此類別僅支援 C2C 訂單,B2C 訂單請使用 PrintTradeDocument。 * * @extends Content * @example * ```typescript * // 7-ELEVEN * const print = new PrintCvsDocument('merchantID', 'hashKey', 'hashIV') * .forUnimart('F1234567', '1234') * * // 全家、萊爾富、OK * const print = new PrintCvsDocument('merchantID', 'hashKey', 'hashIV') * .useFamiC2C() * .setAllPayLogisticsID('1234567890') * * const content = print.getContent() * ``` */ export declare class PrintCvsDocument extends Content { protected requestPath: string; protected allPayLogisticsIDs: string[]; protected cvsPaymentNos: string[]; protected cvsValidationNos: string[]; /** * 設定物流子類型 * * @param subType - 超商物流子類型(僅支援 C2C 類型) * @returns 當前實例,支援鏈式呼叫 * @throws {LogisticsError} 當類型不是 C2C 類型時 */ setLogisticsSubType(subType: LogisticsSubType): this; /** * 設定綠界物流交易編號(單筆) * * @param id - AllPayLogisticsID * @returns 當前實例,支援鏈式呼叫 */ setAllPayLogisticsID(id: string): this; /** * 設定綠界物流交易編號(多筆) * * @param ids - AllPayLogisticsID 陣列 * @returns 當前實例,支援鏈式呼叫 */ setAllPayLogisticsIDs(ids: string[]): this; /** * 設定寄貨編號(單筆) * * @param no - CVSPaymentNo * @returns 當前實例,支援鏈式呼叫 */ setCVSPaymentNo(no: string): this; /** * 設定寄貨編號(多筆) * * @param nos - CVSPaymentNo 陣列 * @returns 當前實例,支援鏈式呼叫 */ setCVSPaymentNos(nos: string[]): this; /** * 設定驗證碼(單筆) * * @param no - CVSValidationNo * @returns 當前實例,支援鏈式呼叫 */ setCVSValidationNo(no: string): this; /** * 設定驗證碼(多筆) * * @param nos - CVSValidationNo 陣列 * @returns 當前實例,支援鏈式呼叫 */ setCVSValidationNos(nos: string[]): this; /** * 驗證請求內容 * * @throws {LogisticsError} 當必要欄位缺失時 */ validate(): void; /** * 使用 7-ELEVEN C2C * * @returns 當前實例,支援鏈式呼叫 */ useUnimartC2C(): this; /** * 使用全家 C2C * * @returns 當前實例,支援鏈式呼叫 */ useFamiC2C(): this; /** * 使用萊爾富 C2C * * @returns 當前實例,支援鏈式呼叫 */ useHilifeC2C(): this; /** * 使用 OK Mart C2C * * @returns 當前實例,支援鏈式呼叫 */ useOkmartC2C(): this; /** * 快速設定 7-ELEVEN 列印所需資訊 * * @param paymentNo - 寄貨編號 * @param validationNo - 驗證碼 * @returns 當前實例,支援鏈式呼叫 */ forUnimart(paymentNo: string, validationNo: string): this; }