import { DestinationWeb, sendWeb } from '@walkeros/web-core';
import { Flow } from '@walkeros/core';

interface Env extends DestinationWeb.Env {
    sendWeb?: typeof sendWeb;
}

declare const init: Env | undefined;
declare const push: Env;
/**
 * Simulation tracking paths
 * Specifies which function calls to track during simulation
 */
declare const simulation: string[];

declare const env_init: typeof init;
declare const env_push: typeof push;
declare const env_simulation: typeof simulation;
declare namespace env {
  export { env_init as init, env_push as push, env_simulation as simulation };
}

declare const entityAction: Flow.StepExample;
declare const pageView: Flow.StepExample;
declare const customTransform: Flow.StepExample;

declare const step_customTransform: typeof customTransform;
declare const step_entityAction: typeof entityAction;
declare const step_pageView: typeof pageView;
declare namespace step {
  export { step_customTransform as customTransform, step_entityAction as entityAction, step_pageView as pageView };
}

export { env, step };
