export { b as ActionHandlerInterface, A as ActionHandlerResult, C as CallbackErrorHandler, F as FormatWebhookErrorResult, G as GenericCreateAppRegisterHandlerOptions, a as HTTPMethod, H as HookCallbackErrorParams, P as PlatformAdapterInterface, R as ResultStatusCodes, S as SaleorWebhookError, d as WebhookContext, c as WebhookError, W as WebhookErrorCodeMap } from '../../saleor-webhook-D8MVgjL2.mjs';
import '../../APL/index.mjs';
import '../../saleor-app.mjs';
import '../../types.mjs';

type SaleorProtectedHandlerError = "OTHER" | "MISSING_HOST_HEADER" | "MISSING_API_URL_HEADER" | "MISSING_AUTHORIZATION_BEARER_HEADER" | "NOT_REGISTERED" | "JWT_VERIFICATION_FAILED" | "NO_APP_ID";
declare const ProtectedHandlerErrorCodeMap: Record<SaleorProtectedHandlerError, number>;

type TransactionActions = "CHARGE" | "REFUND" | "CANCEL";
type _320TransactionWebhookResponsesMap = {
    TRANSACTION_CHARGE_REQUESTED: {
        result: "CHARGE_SUCCESS" | "CHARGE_FAILURE";
        amount: number;
        pspReference?: string;
        time?: string;
        externalUrl?: string;
        message?: string;
        actions?: readonly TransactionActions[];
    };
    TRANSACTION_REFUND_REQUESTED: {
        result: "REFUND_SUCCESS" | "REFUND_FAILURE";
        amount: number;
        pspReference?: string;
        time?: string;
        externalUrl?: string;
        message?: string;
        actions?: readonly TransactionActions[];
    };
    TRANSACTION_CANCELATION_REQUESTED: {
        result: "CANCEL_SUCCESS" | "CANCEL_FAILURE";
        amount: number;
        pspReference?: string;
        time?: string;
        externalUrl?: string;
        message?: string;
        actions?: readonly TransactionActions[];
    };
    TRANSACTION_INITIALIZE_SESSION: {
        result: "CHARGE_SUCCESS" | "CHARGE_FAILURE" | "CHARGE_REQUEST" | "CHARGE_ACTION_REQUIRED" | "AUTHORIZATION_SUCCESS" | "AUTHORIZATION_FAILURE" | "AUTHORIZATION_REQUEST" | "AUTHORIZATION_ACTION_REQUIRED";
        amount?: number;
        pspReference?: string;
        data?: unknown;
        time?: string;
        externalUrl?: string;
        message?: string;
        actions?: readonly TransactionActions[];
    };
    TRANSACTION_PROCESS_SESSION: {
        result: "CHARGE_SUCCESS" | "CHARGE_FAILURE" | "CHARGE_REQUEST" | "CHARGE_ACTION_REQUIRED" | "AUTHORIZATION_SUCCESS" | "AUTHORIZATION_FAILURE" | "AUTHORIZATION_REQUEST" | "AUTHORIZATION_ACTION_REQUIRED";
        amount: number;
        pspReference?: string;
        data?: unknown;
        time?: string;
        externalUrl?: string;
        message?: string;
        actions?: readonly TransactionActions[];
    };
};
type _321TransactionWebhookResponsesMap = {
    TRANSACTION_CHARGE_REQUESTED: {
        result: "CHARGE_SUCCESS" | "CHARGE_FAILURE";
        amount?: number;
        pspReference?: string;
        time?: string;
        externalUrl?: string;
        message?: string;
        actions?: readonly TransactionActions[];
    };
    TRANSACTION_REFUND_REQUESTED: {
        result: "REFUND_SUCCESS" | "REFUND_FAILURE";
        amount?: number;
        pspReference?: string;
        time?: string;
        externalUrl?: string;
        message?: string;
        actions?: readonly TransactionActions[];
    };
    TRANSACTION_CANCELATION_REQUESTED: {
        result: "CANCEL_SUCCESS" | "CANCEL_FAILURE";
        amount?: number;
        pspReference?: string;
        time?: string;
        externalUrl?: string;
        message?: string;
        actions?: readonly TransactionActions[];
    };
    TRANSACTION_INITIALIZE_SESSION: {
        result: "CHARGE_SUCCESS" | "CHARGE_FAILURE" | "CHARGE_REQUEST" | "CHARGE_ACTION_REQUIRED" | "AUTHORIZATION_SUCCESS" | "AUTHORIZATION_FAILURE" | "AUTHORIZATION_REQUEST" | "AUTHORIZATION_ACTION_REQUIRED";
        amount?: number;
        pspReference?: string;
        data?: unknown;
        time?: string;
        externalUrl?: string;
        message?: string;
        actions?: readonly TransactionActions[];
    };
    TRANSACTION_PROCESS_SESSION: {
        result: "CHARGE_SUCCESS" | "CHARGE_FAILURE" | "CHARGE_REQUEST" | "CHARGE_ACTION_REQUIRED" | "AUTHORIZATION_SUCCESS" | "AUTHORIZATION_FAILURE" | "AUTHORIZATION_REQUEST" | "AUTHORIZATION_ACTION_REQUIRED";
        amount?: number;
        pspReference?: string;
        data?: unknown;
        time?: string;
        externalUrl?: string;
        message?: string;
        actions?: readonly TransactionActions[];
    };
};
type CoreSyncWebhookResponses = {
    CHECKOUT_CALCULATE_TAXES: {
        shipping_price_gross_amount: number;
        shipping_price_net_amount: number;
        shipping_tax_rate: number;
        lines: Array<{
            total_gross_amount: number;
            total_net_amount: number;
            tax_rate: number;
        }>;
    };
    CHECKOUT_FILTER_SHIPPING_METHODS: {
        excluded_methods: Array<{
            id: string;
            reason?: string;
        }>;
    };
    SHIPPING_LIST_METHODS_FOR_CHECKOUT: Array<{
        id: string;
        name?: string;
        amount: number;
        currency: string;
        /**
         * Integer
         */
        maximum_delivery_days?: number;
    }>;
    PAYMENT_GATEWAY_INITIALIZE_SESSION: {
        data: unknown;
    };
    PAYMENT_METHOD_PROCESS_TOKENIZATION_SESSION: {
        result: "SUCCESSFULLY_TOKENIZED";
        id: string;
        data: unknown;
    } | {
        result: "ADDITIONAL_ACTION_REQUIRED";
        id: string;
        data: unknown;
    } | {
        result: "PENDING";
        data: unknown;
    } | {
        result: "FAILED_TO_TOKENIZE";
        error: string;
    };
    PAYMENT_METHOD_INITIALIZE_TOKENIZATION_SESSION: {
        result: "SUCCESSFULLY_TOKENIZED";
        id: string;
        data: unknown;
    } | {
        result: "ADDITIONAL_ACTION_REQUIRED";
        id: string;
        data: unknown;
    } | {
        result: "PENDING";
        data: unknown;
    } | {
        result: "FAILED_TO_TOKENIZE";
        error: string;
    };
    PAYMENT_GATEWAY_INITIALIZE_TOKENIZATION_SESSION: {
        result: "SUCCESSFULLY_INITIALIZED";
        data: unknown;
    } | {
        result: "FAILED_TO_INITIALIZE";
        error: string;
    };
    STORED_PAYMENT_METHOD_DELETE_REQUESTED: {
        result: "SUCCESSFULLY_DELETED";
    } | {
        result: "FAILED_TO_DELETE";
        error: string;
    };
    LIST_STORED_PAYMENT_METHODS: {
        paymentMethods: Array<{
            id: string;
            supportedPaymentFlows: Array<"INTERACTIVE">;
            type: string;
            creditCardInfo?: {
                brand: string;
                lastDigits: string;
                expMonth: string;
                expYear: string;
                firstDigits?: string;
            };
            name?: string;
            data?: unknown;
        }>;
    };
};
type SaleorVersion = "3.20" | "3.21";
type TransactionWebhookResponses<V extends SaleorVersion> = V extends "3.21" ? _321TransactionWebhookResponsesMap : _320TransactionWebhookResponsesMap;
type SyncWebhookResponsesMap<V extends SaleorVersion = "3.20"> = CoreSyncWebhookResponses & {
    ORDER_CALCULATE_TAXES: CoreSyncWebhookResponses["CHECKOUT_CALCULATE_TAXES"];
    ORDER_FILTER_SHIPPING_METHODS: CoreSyncWebhookResponses["CHECKOUT_FILTER_SHIPPING_METHODS"];
} & TransactionWebhookResponses<V>;
/**
 * Identity function, but it works on Typescript level to pick right payload based on first param
 */
declare const buildSyncWebhookResponsePayload: <E extends keyof SyncWebhookResponsesMap<V>, V extends SaleorVersion = "3.20">(payload: SyncWebhookResponsesMap<V>[E]) => SyncWebhookResponsesMap<V>[E];

export { ProtectedHandlerErrorCodeMap, type SaleorProtectedHandlerError, type SyncWebhookResponsesMap, buildSyncWebhookResponsePayload };
