import Service from "../../service";
import Client from "../../client";
import { IRequest } from "../../typings/requestOptions";
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";
/**
 * API handler for TerminalOrdersCompanyLevelApi
 */
export declare class TerminalOrdersCompanyLevelApi extends Service {
    private readonly API_BASEPATH;
    private baseUrl;
    constructor(client: Client);
    /**
    * @summary Cancel an order
    * @param companyId {@link string } The unique identifier of the company account.
    * @param orderId {@link string } The unique identifier of the order.
    * @param requestOptions {@link IRequest.Options }
    * @return {@link TerminalOrder }
    */
    cancelOrder(companyId: string, orderId: string, requestOptions?: IRequest.Options): Promise<TerminalOrder>;
    /**
    * @summary Create an order
    * @param companyId {@link string } The unique identifier of the company account.
    * @param terminalOrderRequest {@link TerminalOrderRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link TerminalOrder }
    */
    createOrder(companyId: string, terminalOrderRequest: TerminalOrderRequest, requestOptions?: IRequest.Options): Promise<TerminalOrder>;
    /**
    * @summary Create a shipping location
    * @param companyId {@link string } The unique identifier of the company account.
    * @param shippingLocation {@link ShippingLocation }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link ShippingLocation }
    */
    createShippingLocation(companyId: string, shippingLocation: ShippingLocation, requestOptions?: IRequest.Options): Promise<ShippingLocation>;
    /**
    * @summary Get an order
    * @param companyId {@link string } The unique identifier of the company account.
    * @param orderId {@link string } The unique identifier of the order.
    * @param requestOptions {@link IRequest.Options }
    * @return {@link TerminalOrder }
    */
    getOrder(companyId: string, orderId: string, requestOptions?: IRequest.Options): Promise<TerminalOrder>;
    /**
    * @summary Get a list of billing entities
    * @param companyId {@link string } The unique identifier of the company account.
    * @param requestOptions {@link IRequest.Options }
    * @param name {@link string } The name of the billing entity.
    * @return {@link BillingEntitiesResponse }
    */
    listBillingEntities(companyId: string, name?: string, requestOptions?: IRequest.Options): Promise<BillingEntitiesResponse>;
    /**
    * @summary Get a list of orders
    * @param companyId {@link string } The unique identifier of the company account.
    * @param requestOptions {@link IRequest.Options }
    * @param customerOrderReference {@link string } Your purchase order number.
    * @param status {@link string } The order status. Possible values (not case-sensitive): Placed, Confirmed, Cancelled, Shipped, Delivered.
    * @param offset {@link number } The number of orders to skip.
    * @param limit {@link number } The number of orders to return.
    * @return {@link TerminalOrdersResponse }
    */
    listOrders(companyId: string, customerOrderReference?: string, status?: string, offset?: number, limit?: number, requestOptions?: IRequest.Options): Promise<TerminalOrdersResponse>;
    /**
    * @summary Get a list of shipping locations
    * @param companyId {@link string } The unique identifier of the company account.
    * @param requestOptions {@link IRequest.Options }
    * @param name {@link string } The name of the shipping location.
    * @param offset {@link number } The number of locations to skip.
    * @param limit {@link number } The number of locations to return.
    * @return {@link ShippingLocationsResponse }
    */
    listShippingLocations(companyId: string, name?: string, offset?: number, limit?: number, requestOptions?: IRequest.Options): Promise<ShippingLocationsResponse>;
    /**
    * @summary Get a list of terminal models
    * @param companyId {@link string } The unique identifier of the company account.
    * @param requestOptions {@link IRequest.Options }
    * @return {@link TerminalModelsResponse }
    */
    listTerminalModels(companyId: string, requestOptions?: IRequest.Options): Promise<TerminalModelsResponse>;
    /**
    * @summary Get a list of terminal products
    * @param companyId {@link string } The unique identifier of the company account.
    * @param requestOptions {@link IRequest.Options }
    * @param country {@link string } (Required) 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 {@link string } 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/companies/{companyId}/terminalModels) response. For example, **Verifone.M400**
    * @param offset {@link number } The number of products to skip.
    * @param limit {@link number } The number of products to return.
    * @return {@link TerminalProductsResponse }
    */
    listTerminalProducts(companyId: string, country: string, terminalModelId?: string, offset?: number, limit?: number, requestOptions?: IRequest.Options): Promise<TerminalProductsResponse>;
    /**
    * @summary Update an order
    * @param companyId {@link string } The unique identifier of the company account.
    * @param orderId {@link string } The unique identifier of the order.
    * @param terminalOrderRequest {@link TerminalOrderRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link TerminalOrder }
    */
    updateOrder(companyId: string, orderId: string, terminalOrderRequest: TerminalOrderRequest, requestOptions?: IRequest.Options): Promise<TerminalOrder>;
}
