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

declare global {
    interface Window {
        _paq?: Array<unknown>;
    }
}
interface Destination extends DestinationWeb.Destination<Custom, CustomEvent> {
}
type Config = DestinationWeb.Config<Custom, CustomEvent>;
interface Custom {
    appId: string;
    linkTracking?: boolean;
    url: string;
}
interface CustomEvent {
    goalId?: string;
    goalValue?: string;
}
type EventConfig = Mapping.EventConfig<CustomEvent>;
interface Dimensions {
    [i: number]: string;
}

type index_Config = Config;
type index_Custom = Custom;
type index_CustomEvent = CustomEvent;
type index_Destination = Destination;
type index_Dimensions = Dimensions;
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_Dimensions as Dimensions, index_EventConfig as EventConfig };
}

declare const destinationPiwikPro: Destination;

export { index as DestinationPiwikPro, destinationPiwikPro as default, destinationPiwikPro };
