import { ActiveOrderService, ChannelService, EntityHydrator, Order, OrderService, PaymentMethod, PaymentMethodService, RequestContext, OrderState } from "@vendure/core";
import type { AdyenPaymentIntentResult } from "./generated-types/graphql";
import type { AdyenPluginOptions } from "./adyen.plugin";
import type { PaymentMethodHandlerArgs } from "./adyen.handler";
import type { NotificationRequestItem } from "@adyen/api-library/lib/src/typings/notification/models";
export declare class AdyenService {
    private paymentMethodService;
    private activeOrderService;
    private orderService;
    private channelService;
    private entityHydrator;
    private options;
    constructor(paymentMethodService: PaymentMethodService, activeOrderService: ActiveOrderService, orderService: OrderService, channelService: ChannelService, entityHydrator: EntityHydrator, options: AdyenPluginOptions);
    createPaymentIntent(ctx: RequestContext): Promise<AdyenPaymentIntentResult>;
    /**
     * You get the outcome of each payment asynchronously, in a webhook event with eventCode: AUTHORISATION.
     * For a successful payment, the event contains `success`: `"true"`.
     * For an unsuccessful payment, you get `success`: `"false"`, and the `reason` field has details about why the payment was unsuccessful.
     */
    handleAdyenStatusUpdate(notificationRequestItem: NotificationRequestItem): Promise<void>;
    /**
     * Add payment to order. Can be settled or authorized depending on the payment method.
     */
    addPayment(ctx: RequestContext, order: Order, notificationRequestItem: NotificationRequestItem): Promise<void>;
    settleExistingPayment(ctx: RequestContext, order: Order, pspReference: string): Promise<void>;
    private trimEnd;
    transitionOrderState(ctx: RequestContext, order: Order, newState: OrderState): Promise<Order | import("@vendure/core/dist/common/error/generated-graphql-shop-errors").OrderStateTransitionError | undefined>;
    private toAdyenOrderLines;
    private toAdyenBillingAddress;
    private getPaymentMethod;
    getPaymentMethodArg(paymentMethod: PaymentMethod, desiredArg: keyof PaymentMethodHandlerArgs): string | undefined;
    private createContext;
}
