import * as Options from '../options';
import { BaseService } from '../infrastructure';
import { Order, OrderCreate, Transaction } from '../interfaces';
export declare class Orders extends BaseService {
    constructor(shopDomain: string, accessToken: string);
    /**
     * Gets a count of all of the shop's orders.
     * @param options Options for filtering the results.
     */
    count(options?: Options.OrderCountOptions): Promise<number>;
    /**
     * Gets a list of up to 250 of the shop's orders.
     * @param options Options for filtering the results.
     */
    list(options?: Options.OrderListOptions): Promise<Partial<Order>[]>;
    /**
     * Gets a list of up to 250 orders from the given customer.
     * @param customerId The customer's id.
     * @param options Options for filtering the results.
     */
    listForCustomer(customerId: number, options?: Options.OrderListOptions): Promise<Partial<Order>[]>;
    /**
     * Retrieves a list of fulfillment orders for a specific order.
     * @param orderId The ID of the order that is associated with the fulfillment orders.
     */
    listFulfillmentOrders(orderId: string): Promise<unknown>;
    /**
     * Gets the order with the given id.
     * @param orderId The order's id.
     * @param options Options for filtering the results.
     */
    get(orderId: number, options?: Options.OrderGetOptions): Promise<Partial<Order>>;
    /**
     * Creates an order.
     * @param order The order being created.
     * @param options Options for creating the order.
     */
    create(order: OrderCreate, transactions?: Transaction[], options?: Options.OrderCreateOptions): Promise<Order>;
    /**
     * Updates an order with the given id.
     * @param id The order's id.
     * @param order The updated order.
     */
    update(id: number, order: Partial<OrderCreate>): Promise<Order>;
    /**
     * Deletes an order with the given id.
     * @param id The order's id.
     */
    delete(id: number): Promise<void>;
    /**
     * Closes an order with the given id.
     * @param id The order's id.
     */
    close(id: number): Promise<Order>;
    /**
     * Opens an order with the given id.
     * @param id The order's id.
     */
    open(id: number): Promise<Order>;
    /**
     * Cancels an order with the given id.
     * @param id The order's id.
     * @param options Options for canceling the order.
     */
    cancel(id: number, options?: Options.OrderCancelOptions): Promise<Order>;
}
export default Orders;
