import Service from "../../service";
import { BillingEntitiesResponse } from '../../typings/management/models';
import { ShippingLocation } from '../../typings/management/models';
import { ShippingLocationsResponse } from '../../typings/management/models';
import { TerminalModelsResponse } from '../../typings/management/models';
import { TerminalOrder } from '../../typings/management/models';
import { TerminalOrderRequest } from '../../typings/management/models';
import { TerminalOrdersResponse } from '../../typings/management/models';
import { TerminalProductsResponse } from '../../typings/management/models';
import { IRequest } from "../../typings/requestOptions";
export default class TerminalOrdersMerchantLevelApi extends Service {
    /**
     * @summary Get a list of billing entities
     * @param merchantId The unique identifier of the merchant account.
     * @param name The name of the billing entity.
     */
    listBillingEntities(merchantId: string, requestOptions?: IRequest.Options): Promise<BillingEntitiesResponse>;
    /**
     * @summary Get a list of shipping locations
     * @param merchantId The unique identifier of the merchant account.
     * @param name The name of the shipping location.
     * @param offset The number of locations to skip.
     * @param limit The number of locations to return.
     */
    listShippingLocations(merchantId: string, requestOptions?: IRequest.Options): Promise<ShippingLocationsResponse>;
    /**
     * @summary Get a list of terminal models
     * @param merchantId The unique identifier of the merchant account.
     */
    listTerminalModels(merchantId: string, requestOptions?: IRequest.Options): Promise<TerminalModelsResponse>;
    /**
     * @summary Get a list of orders
     * @param merchantId
     * @param customerOrderReference Your purchase order number.
     * @param status The order status. Possible values (not case-sensitive): Placed, Confirmed, Cancelled, Shipped, Delivered.
     * @param offset The number of orders to skip.
     * @param limit The number of orders to return.
     */
    listOrders(merchantId: string, requestOptions?: IRequest.Options): Promise<TerminalOrdersResponse>;
    /**
     * @summary Get an order
     * @param merchantId The unique identifier of the merchant account.
     * @param orderId The unique identifier of the order.
     */
    getOrder(merchantId: string, orderId: string, requestOptions?: IRequest.Options): Promise<TerminalOrder>;
    /**
     * @summary Get a list of terminal products
     * @param merchantId The unique identifier of the merchant account.
     * @param country The country to return products for, in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. For example, **US**
     * @param terminalModelId The terminal model to return products for. Use the ID returned in the [GET &#x60;/terminalModels&#x60;](https://docs.adyen.com/api-explorer/#/ManagementService/latest/get/terminalModels) response. For example, **Verifone.M400**
     * @param offset The number of products to skip.
     * @param limit The number of products to return.
     */
    listTerminalProducts(merchantId: string, requestOptions?: IRequest.Options): Promise<TerminalProductsResponse>;
    /**
     * @summary Update an order
     * @param merchantId The unique identifier of the merchant account.
     * @param orderId The unique identifier of the order.
     * @param terminalOrderRequest
     */
    updateOrder(merchantId: string, orderId: string, terminalOrderRequest: TerminalOrderRequest, requestOptions?: IRequest.Options): Promise<TerminalOrder>;
    /**
     * @summary Create a shipping location
     * @param merchantId The unique identifier of the merchant account.
     * @param shippingLocation
     */
    createShippingLocation(merchantId: string, shippingLocation: ShippingLocation, requestOptions?: IRequest.Options): Promise<ShippingLocation>;
    /**
     * @summary Create an order
     * @param merchantId The unique identifier of the merchant account.
     * @param terminalOrderRequest
     */
    createOrder(merchantId: string, terminalOrderRequest: TerminalOrderRequest, requestOptions?: IRequest.Options): Promise<TerminalOrder>;
    /**
     * @summary Cancel an order
     * @param merchantId The unique identifier of the merchant account.
     * @param orderId The unique identifier of the order.
     */
    cancelOrder(merchantId: string, orderId: string, requestOptions?: IRequest.Options): Promise<TerminalOrder>;
}
