import type { Context } from "../../types/context.js"; import type { OrderCancelOrderInput as ProtoCancelOrderInput, OrderChangeShippingAddressInput as ProtoChangeShippingAddressInput, OrderClaimItem as ProtoClaimItem, OrderExchangeItem as ProtoExchangeItem, OrderExchangeOrderInput as ProtoExchangeOrderInput, OrderGetAppConfigsInput as ProtoGetAppConfigsInput, OrderGetAppConfigsOutput as ProtoGetAppConfigsOutput, OrderGetExchangeableItemsInput as ProtoGetExchangeableItemsInput, OrderGetExchangeableItemsOutput as ProtoGetExchangeableItemsOutput, OrderGetOrdersInput as ProtoGetOrdersInput, OrderGetOrdersOutput as ProtoGetOrdersOutput, OrderReturnOrderInput as ProtoReturnOrderInput, OrderSuccessOutput as ProtoSuccessOutput } from "../../gen/channel/app/sdk/v1/extension.js"; export type GetOrdersInput = ProtoGetOrdersInput; export type GetOrdersOutput = ProtoGetOrdersOutput; export type GetAppConfigsInput = ProtoGetAppConfigsInput; export type GetAppConfigsOutput = ProtoGetAppConfigsOutput; export type ClaimItem = ProtoClaimItem; export type CancelOrderInput = ProtoCancelOrderInput; export type ReturnOrderInput = ProtoReturnOrderInput; export type ExchangeItem = ProtoExchangeItem; export type ExchangeOrderInput = ProtoExchangeOrderInput; export type GetExchangeableItemsInput = ProtoGetExchangeableItemsInput; export type GetExchangeableItemsOutput = ProtoGetExchangeableItemsOutput; export type ChangeShippingAddressInput = ProtoChangeShippingAddressInput; export type SuccessOutput = ProtoSuccessOutput; /** * Order Extension Interface * * Implement this interface to create an order management extension * for commerce platforms (e.g., Naver Smart Store, Cafe24, Shopify). * * @example * ```typescript * @Extension({ name: "order", systemVersion: "v1" }) * export class MyOrderExtension implements OrderExtensionInterface { * @Func("extension.order.core.getOrders") * async getOrders(ctx, params) { ... } * * @Func("extension.order.core.getAppConfigs") * async getAppConfigs(ctx) { ... } * } * ``` */ export interface OrderExtensionInterface { getOrders(ctx: Context, params: GetOrdersInput): Promise; getAppConfigs(ctx: Context, params: GetAppConfigsInput): Promise; cancelOrder?(ctx: Context, params: CancelOrderInput): Promise; returnOrder?(ctx: Context, params: ReturnOrderInput): Promise; exchangeOrder?(ctx: Context, params: ExchangeOrderInput): Promise; getExchangeableItems?(ctx: Context, params: GetExchangeableItemsInput): Promise; changeShippingAddress?(ctx: Context, params: ChangeShippingAddressInput): Promise; } /** * Order Extension Function Names */ export declare const OrderFunctionNames: { readonly getOrders: "extension.order.core.getOrders"; readonly getAppConfigs: "extension.order.core.getAppConfigs"; readonly cancelOrder: "extension.order.cancel.cancelOrder"; readonly returnOrder: "extension.order.return.returnOrder"; readonly exchangeOrder: "extension.order.exchange.exchangeOrder"; readonly getExchangeableItems: "extension.order.exchange.getExchangeableItems"; readonly changeShippingAddress: "extension.order.edit.changeShippingAddress"; }; //# sourceMappingURL=order.d.ts.map