import { managementWebhooks } from "..";
/**
 * Union type for all supported webhook requests.
 * Allows generic handling of configuration-related webhook events.
 */
export type GenericWebhook = managementWebhooks.MerchantCreatedNotificationRequest | managementWebhooks.MerchantUpdatedNotificationRequest | managementWebhooks.PaymentMethodCreatedNotificationRequest | managementWebhooks.PaymentMethodRequestRemovedNotificationRequest | managementWebhooks.PaymentMethodScheduledForRemovalNotificationRequest | managementWebhooks.TerminalBoardingNotificationRequest | managementWebhooks.TerminalSettingsNotificationRequest;
/**
 * Handler for processing ManagementWebhooks.
 *
 * This class provides functionality to deserialize the payload of ManagementWebhooks events.
 */
export declare class ManagementWebhooksHandler {
    private readonly payload;
    constructor(jsonPayload: string);
    /**
     * This method checks the type of the webhook payload and returns the appropriate deserialized object.
     *
     * @returns A deserialized object of type GenericWebhook.
     * @throws Error if the type is not recognized.
     */
    getGenericWebhook(): GenericWebhook;
    /**
     * Deserialize the webhook payload into a MerchantCreatedNotificationRequest
     *
     * @returns Deserialized MerchantCreatedNotificationRequest object.
     */
    getMerchantCreatedNotificationRequest(): managementWebhooks.MerchantCreatedNotificationRequest;
    /**
     * Deserialize the webhook payload into a MerchantUpdatedNotificationRequest
     *
     * @returns Deserialized MerchantUpdatedNotificationRequest object.
     */
    getMerchantUpdatedNotificationRequest(): managementWebhooks.MerchantUpdatedNotificationRequest;
    /**
     * Deserialize the webhook payload into a PaymentMethodCreatedNotificationRequest
     *
     * @returns Deserialized PaymentMethodCreatedNotificationRequest object.
     */
    getPaymentMethodCreatedNotificationRequest(): managementWebhooks.PaymentMethodCreatedNotificationRequest;
    /**
     * Deserialize the webhook payload into a PaymentMethodRequestRemovedNotificationRequest
     *
     * @returns Deserialized PaymentMethodRequestRemovedNotificationRequest object.
     */
    getPaymentMethodRequestRemovedNotificationRequest(): managementWebhooks.PaymentMethodRequestRemovedNotificationRequest;
    /**
     * Deserialize the webhook payload into a PaymentMethodScheduledForRemovalNotificationRequest
     *
     * @returns Deserialized PaymentMethodScheduledForRemovalNotificationRequest object.
     */
    getPaymentMethodScheduledForRemovalNotificationRequest(): managementWebhooks.PaymentMethodScheduledForRemovalNotificationRequest;
    /**
     * Deserialize the webhook payload into a TerminalBoardingNotificationRequest
     *
     * @returns Deserialized TerminalBoardingNotificationRequest object.
     */
    getTerminalBoardingNotificationRequest(): managementWebhooks.TerminalBoardingNotificationRequest;
    /**
     * Deserialize the webhook payload into a TerminalSettingsNotificationRequest
     *
     * @returns Deserialized TerminalSettingsNotificationRequest object.
     */
    getTerminalSettingsNotificationRequest(): managementWebhooks.TerminalSettingsNotificationRequest;
}
