import Http from '../Http';
import type { CreateStripeSessionOptions, OrderUpdate, AddStoreCredit, AddPayment, NestedAttributes, SelectShippingMethod, AddPaymentOptions, SelectShippingMethodOptions, ShippingRatesOptions, PaymentMethodsOptions, RemoveStoreCreditsOptions, AddStoreCreditOptions, CompleteOptions, AdvanceOptions, OrderUpdateOptions, OrderNextOptions } from '../interfaces/Checkout';
import type { IOrderResult } from '../interfaces/Order';
import type { IPaymentMethodsResult } from '../interfaces/PaymentMethod';
import type { IQuery } from '../interfaces/Query';
import type { IShippingMethodsResult, ShippingRatesResult } from '../interfaces/ShippingMethod';
import { StripeCheckoutSessionSummaryResult } from '../interfaces/StripeCheckoutSessionSummary';
import type { IToken } from '../interfaces/Token';
export default class Checkout extends Http {
    orderNext(options: OrderNextOptions): Promise<IOrderResult>;
    /**
     * @deprecated Use the combined options signature instead.
     */
    orderNext(token: IToken, params?: IQuery): Promise<IOrderResult>;
    orderUpdate(options: OrderUpdateOptions): Promise<IOrderResult>;
    /**
     * @deprecated Use the combined options signature instead.
     */
    orderUpdate(token: IToken, params: OrderUpdate | NestedAttributes): Promise<IOrderResult>;
    advance(options: AdvanceOptions): Promise<IOrderResult>;
    /**
     * @deprecated Use the combined options signature instead.
     */
    advance(token: IToken, params?: IQuery): Promise<IOrderResult>;
    complete(options: CompleteOptions): Promise<IOrderResult>;
    /**
     * @deprecated Use the combined options signature instead.
     */
    complete(token: IToken, params?: IQuery): Promise<IOrderResult>;
    addStoreCredits(options: AddStoreCreditOptions): Promise<IOrderResult>;
    /**
     * @deprecated Use the combined options signature instead.
     */
    addStoreCredits(token: IToken, params: AddStoreCredit): Promise<IOrderResult>;
    removeStoreCredits(options: RemoveStoreCreditsOptions): Promise<IOrderResult>;
    /**
     * @deprecated Use the combined options signature instead.
     */
    removeStoreCredits(token: IToken, params?: IQuery): Promise<IOrderResult>;
    paymentMethods(options: PaymentMethodsOptions): Promise<IPaymentMethodsResult>;
    /**
     * @deprecated Use the combined options signature instead.
     */
    paymentMethods(token: IToken): Promise<IPaymentMethodsResult>;
    /**
     * @deprecated Use {@link shippingRates} instead.
     */
    shippingMethods(token: IToken, params?: IQuery): Promise<IShippingMethodsResult>;
    shippingRates(options: ShippingRatesOptions): Promise<ShippingRatesResult>;
    /**
     * @deprecated Use the combined options signature instead.
     */
    shippingRates(token: IToken, params?: IQuery): Promise<ShippingRatesResult>;
    selectShippingMethod(options: SelectShippingMethodOptions): Promise<IOrderResult>;
    /**
     * @deprecated Use the combined options signature instead.
     */
    selectShippingMethod(token: IToken, params: SelectShippingMethod): Promise<IOrderResult>;
    addPayment(options: AddPaymentOptions): Promise<IOrderResult>;
    /**
     * @deprecated Use the combined options signature instead.
     */
    addPayment(token: IToken, addPaymentParams: AddPayment): Promise<IOrderResult>;
    createStripeSession(options: CreateStripeSessionOptions): Promise<StripeCheckoutSessionSummaryResult>;
}
