import * as CheckoutApi from '@noaignite/centra-types';

declare const CENTRA_EVENTS: readonly ["centra_checkout_callback", "centra_checkout_payment_callback"];
declare class CentraEvents {
    eventHandlers: {
        centra_checkout_callback?: Set<(payload: CheckoutApi.Response<CheckoutApi.SelectionResponse>) => unknown>;
        centra_checkout_payment_callback?: Set<(payload: CheckoutApi.SelectionResponse) => unknown>;
    };
    private static _default?;
    constructor();
    on(eventName: (typeof CENTRA_EVENTS)[number], callback: (response: CheckoutApi.Response<CheckoutApi.SelectionResponse>) => unknown): boolean;
    off(eventName: (typeof CENTRA_EVENTS)[number], callback: (response: CheckoutApi.Response<CheckoutApi.SelectionResponse>) => unknown): boolean;
    dispatch(eventName: (typeof CENTRA_EVENTS)[number], payload: CheckoutApi.Response<CheckoutApi.SelectionResponse>): void;
    static get default(): CentraEvents;
    get default(): CentraEvents;
}

export { CentraEvents };
