import { ListPage } from '../models/ListPage'; import { Searchable } from '../models/Searchable'; import { Sortable } from '../models/Sortable'; import { Filters } from '../models/Filters'; import { ExtendedLineItem } from '../models/ExtendedLineItem'; import { OrderDirection } from '../models/OrderDirection'; import { SearchType } from '../models/SearchType'; import { LineItem } from '../models/LineItem'; import { Address } from '../models/Address'; import { PartialDeep } from '../models/PartialDeep'; import { RequiredDeep } from '../models/RequiredDeep'; import { RequestOptions } from '../models/RequestOptions'; declare class LineItems { private impersonating; /** * @ignore * not part of public api, don't include in generated docs */ constructor(); /** * Get a list of line item across orders. * Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/line-items/list-across-orders|api docs} for more info * * @param direction Direction of the order, from the current user's perspective. Possible values: incoming, outgoing, all. * @param listOptions.buyerID ID of the buyer. * @param listOptions.supplierID ID of the supplier. * @param listOptions.from Lower bound of date range that the order was created. * @param listOptions.to Upper bound of date range that the order was created. * @param listOptions.search Word or phrase to search for. * @param listOptions.searchOn Comma-delimited list of fields to search on. * @param listOptions.searchType Type of search to perform. Possible values: AnyTerm (default), AllTermsAnyField, AllTermsSameField, ExactPhrase, ExactPhrasePrefix. * @param listOptions.sortBy Comma-delimited list of fields to sort by. * @param listOptions.page Page of results to return. Default: 1. When paginating through many items (> page 30), we recommend the "Last ID" method, as outlined in the Advanced Querying documentation. * @param listOptions.pageSize Number of results to return per page. Default: 20, max: 100. * @param listOptions.filters An object or dictionary representing key/value pairs to apply as filters. Valid keys are top-level properties of the returned model or 'xp.???' * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ ListAcrossOrders(direction: OrderDirection, listOptions?: { buyerID?: string; supplierID?: string; from?: string; to?: string; search?: string; searchOn?: Searchable<'LineItems.ListAcrossOrders'>; searchType?: SearchType; sortBy?: Sortable<'LineItems.ListAcrossOrders'>; page?: number; pageSize?: number; filters?: Filters; }, requestOptions?: RequestOptions): Promise>>; /** * Get a list of line items. * Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/line-items/list|api docs} for more info * * @param direction Direction of the order, from the current user's perspective. Possible values: incoming, outgoing, all. * @param orderID ID of the order. * @param listOptions.search Word or phrase to search for. * @param listOptions.searchOn Comma-delimited list of fields to search on. * @param listOptions.sortBy Comma-delimited list of fields to sort by. * @param listOptions.page Page of results to return. Default: 1. When paginating through many items (> page 30), we recommend the "Last ID" method, as outlined in the Advanced Querying documentation. * @param listOptions.pageSize Number of results to return per page. Default: 20, max: 100. * @param listOptions.filters An object or dictionary representing key/value pairs to apply as filters. Valid keys are top-level properties of the returned model or 'xp.???' * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ List(direction: OrderDirection, orderID: string, listOptions?: { search?: string; searchOn?: Searchable<'LineItems.List'>; sortBy?: Sortable<'LineItems.List'>; page?: number; pageSize?: number; filters?: Filters; }, requestOptions?: RequestOptions): Promise>>; /** * Create a new line item. If ID is provided and an object with that ID already exists, a 409 (conflict) error is returned. * Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/line-items/create|api docs} for more info * * @param direction Direction of the order, from the current user's perspective. Possible values: incoming, outgoing, all. * @param orderID ID of the order. * @param lineItem Required fields: ProductID * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ Create(direction: OrderDirection, orderID: string, lineItem: LineItem, requestOptions?: RequestOptions): Promise>; /** * Get a single line item. * Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/line-items/get|api docs} for more info * * @param direction Direction of the order, from the current user's perspective. Possible values: incoming, outgoing, all. * @param orderID ID of the order. * @param lineItemID ID of the line item. * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ Get(direction: OrderDirection, orderID: string, lineItemID: string, requestOptions?: RequestOptions): Promise>; /** * Create or update a line item. If an object with the same ID already exists, it will be overwritten. * Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/line-items/save|api docs} for more info * * @param direction Direction of the order, from the current user's perspective. Possible values: incoming, outgoing, all. * @param orderID ID of the order. * @param lineItemID ID of the line item. * @param lineItem Required fields: ProductID * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ Save(direction: OrderDirection, orderID: string, lineItemID: string, lineItem: LineItem, requestOptions?: RequestOptions): Promise>; /** * Delete a line item. * Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/line-items/delete|api docs} for more info * * @param direction Direction of the order, from the current user's perspective. Possible values: incoming, outgoing, all. * @param orderID ID of the order. * @param lineItemID ID of the line item. * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ Delete(direction: OrderDirection, orderID: string, lineItemID: string, requestOptions?: RequestOptions): Promise; /** * Partially update a line item. * Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/line-items/patch|api docs} for more info * * @param direction Direction of the order, from the current user's perspective. Possible values: incoming, outgoing, all. * @param orderID ID of the order. * @param lineItemID ID of the line item. * @param lineItem * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ Patch(direction: OrderDirection, orderID: string, lineItemID: string, lineItem: PartialDeep, requestOptions?: RequestOptions): Promise>; /** * Set a shipping address. Set the Shipping Address of the Line Item. Appropriate only when the Address is not to be saved/reused. To use a Saved Address (i.e. from the Addresses resource), PATCH the Line Item's ShippingAddressID property instead. * Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/line-items/set-shipping-address|api docs} for more info * * @param direction Direction of the order, from the current user's perspective. Possible values: incoming, outgoing, all. * @param orderID ID of the order. * @param lineItemID ID of the line item. * @param address Required fields: Street1, City, State, Zip, Country * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ SetShippingAddress(direction: OrderDirection, orderID: string, lineItemID: string, address: Address, requestOptions?: RequestOptions): Promise>; /** * Partially update a line item shipping address. Partially update the Shipping Address of the Line Item. Not allowed on unsubmitted Line Items where ShippingAddressID has been set. In that case, use the Addresses resource to update the Saved Address. * Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/line-items/patch-shipping-address|api docs} for more info * * @param direction Direction of the order, from the current user's perspective. Possible values: incoming, outgoing, all. * @param orderID ID of the order. * @param lineItemID ID of the line item. * @param address * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ PatchShippingAddress(direction: OrderDirection, orderID: string, lineItemID: string, address: Address, requestOptions?: RequestOptions): Promise>; /** * @description * enables impersonation by calling the subsequent method with the stored impersonation token * * @example * LineItems.As().List() // lists LineItems using the impersonated users' token */ As(): this; } declare const _default: LineItems; export default _default;