import { RevolutCheckoutInstance, Mode, Locale } from './types';
/**
 * Load [`RevolutCheckout.js`](https://developer.revolut.com/docs/revolut-checkout-js/#revolutcheckout)
 * and create [`Instance`](https://developer.revolut.com/docs/revolut-checkout-js/#instance) for the order `token`.
 *
 * @param token `public_id`  from [create payment order](https://developer.revolut.com/api-reference/merchant/#operation/createOrder) API request
 * @param mode [API](https://developer.revolut.com/docs/revolut-checkout-js/#revolutcheckout-parameters) environment, defaults to `'prod'`
 *
 * @see [`RevolutCheckout.js` reference](https://developer.revolut.com/docs/revolut-checkout-js)
 *
 * @example
 * ```js
 * RevolutCheckout('TOKEN_XXX', 'prod').then(function(instance) {
 *   // Work with instance
 * });
 * ```
 */
export declare function RevolutCheckoutLoader(token: string, mode?: Mode): Promise<RevolutCheckoutInstance>;
export declare namespace RevolutCheckoutLoader {
    var mode: "prod";
    var payments: ({ locale, publicToken, mode, }: PaymentModuleParams) => Promise<import("./types").RevolutPaymentsModuleInstance>;
    var upsell: ({ locale, publicToken, mode, }: UpsellModuleParams) => Promise<import("./types").RevolutUpsellModuleInstance>;
}
declare type PaymentModuleParams = {
    locale: Locale | 'auto';
    publicToken: string;
    mode?: Mode;
};
declare type UpsellModuleParams = {
    locale: Locale | 'auto';
    publicToken: string;
    mode?: Mode;
};
export {};
