import { Mapping } from '@elbwalker/types';

declare function ecommerceOrder$1(): unknown[];
declare function ecommerceAddToCart$1(): unknown[];
declare function ecommerceProductDetailView$1(): unknown[];
declare function ecommerceCartUpdate$1(): unknown[];

declare namespace events {
  export { ecommerceAddToCart$1 as ecommerceAddToCart, ecommerceCartUpdate$1 as ecommerceCartUpdate, ecommerceOrder$1 as ecommerceOrder, ecommerceProductDetailView$1 as ecommerceProductDetailView };
}

declare global {
    interface Window {
        _paq?: Array<unknown>;
    }
}
interface CustomEvent {
    goalId?: string;
    goalValue?: string;
}
type EventConfig = Mapping.EventConfig<CustomEvent>;

declare const ecommerceOrder: EventConfig;
declare const ecommerceAddToCart: EventConfig;
declare const ecommerceProductDetailView: EventConfig;
declare const ecommerceCartUpdate: EventConfig;
declare const config: {
    order: {
        complete: EventConfig;
    };
    product: {
        add: EventConfig;
        view: EventConfig;
    };
    cart: {
        view: EventConfig;
    };
};

declare const mapping_config: typeof config;
declare const mapping_ecommerceAddToCart: typeof ecommerceAddToCart;
declare const mapping_ecommerceCartUpdate: typeof ecommerceCartUpdate;
declare const mapping_ecommerceOrder: typeof ecommerceOrder;
declare const mapping_ecommerceProductDetailView: typeof ecommerceProductDetailView;
declare namespace mapping {
  export { mapping_config as config, mapping_ecommerceAddToCart as ecommerceAddToCart, mapping_ecommerceCartUpdate as ecommerceCartUpdate, mapping_ecommerceOrder as ecommerceOrder, mapping_ecommerceProductDetailView as ecommerceProductDetailView };
}

export { events, mapping };
