import { BilliaSDKServiceBase } from '../lib/billia-sdk-service-base';
import { IBilliaOAuthSession, IOrderDetailsResponse, IPaymentGatewayRedirect } from '../types';
import { IPaymentMethod, IPaymentMethodsQueryOptions } from './billia-sdk-payment.types';
export declare class BilliaSDKPayment extends BilliaSDKServiceBase {
    /**
     * Get available payment methods.
     *
     * @param session user session
     * @param queryOptions methods listing options
     */
    getPaymentMethods(session: IBilliaOAuthSession, queryOptions?: IPaymentMethodsQueryOptions): Promise<IPaymentMethod[]>;
    /**
     * Get payment method by ID.
     *
     * @param session user session
     * @param methodId the payment method ID
     */
    getPaymentMethodById(session: IBilliaOAuthSession, methodId: number): Promise<IPaymentMethod>;
    /**
     * Prepares an order for customer payment.
     *
     * @param session user session
     * @param purchaseId order ID
     *
     * @returns URL which redirects to a payment page
     */
    preparePurchase(session: IBilliaOAuthSession, purchaseId: number): Promise<IPaymentGatewayRedirect>;
    /**
     * Changes the payment method of an order.
     *
     * @param session user session
     * @param purchaseId purchase ID
     * @param paymentMethodId payment method ID
     */
    changePurchasePaymentMethod(session: IBilliaOAuthSession, purchaseId: number, paymentMethodId: number): Promise<IOrderDetailsResponse>;
    private extractPaymentMethodImage;
}
//# sourceMappingURL=billia-sdk-payment.d.ts.map