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

declare function purchase$1(): unknown[];
declare function add_to_cart$1(): unknown[];

declare namespace events {
  export { add_to_cart$1 as add_to_cart, purchase$1 as purchase };
}

declare global {
    interface Window {
        dataLayer: Array<unknown> | unknown;
        gtag: Gtag.Gtag;
    }
}
type EventConfig = Mapping.EventConfig<CustomEvent>;
interface CustomEvent {
    include?: Include;
}
type Include = Array<'all' | 'context' | 'data' | 'event' | 'globals' | 'source' | 'user' | 'version'>;

declare const purchase: EventConfig;
declare const add_to_cart: EventConfig;
declare const config: {
    order: {
        complete: EventConfig;
    };
    product: {
        add: EventConfig;
    };
};

declare const mapping_add_to_cart: typeof add_to_cart;
declare const mapping_config: typeof config;
declare const mapping_purchase: typeof purchase;
declare namespace mapping {
  export { mapping_add_to_cart as add_to_cart, mapping_config as config, mapping_purchase as purchase };
}

export { events, mapping };
