import { Mapping } from '@elbwalker/types';
import { DestinationWeb } from '@elbwalker/walker.js';

declare global {
    interface Window {
        dataLayer: Array<unknown> | unknown;
    }
}
interface Destination extends DestinationWeb.Destination<Custom, CustomEvent> {
}
type Config = DestinationWeb.Config<Custom, CustomEvent>;
interface Custom {
    containerId?: string;
    dataLayer?: string;
    domain?: string;
}
type EventConfig = Mapping.EventConfig<CustomEvent>;
interface CustomEvent {
}

type index_Config = Config;
type index_Custom = Custom;
type index_CustomEvent = CustomEvent;
type index_Destination = Destination;
type index_EventConfig = EventConfig;
declare namespace index {
  export type { index_Config as Config, index_Custom as Custom, index_CustomEvent as CustomEvent, index_Destination as Destination, index_EventConfig as EventConfig };
}

declare const destinationGoogleGTM: Destination;

export { index as DestinationGoogleGTM, destinationGoogleGTM as default, destinationGoogleGTM };
