'use strict';

var chunkV7LFKZZ7_cjs = require('./chunk-V7LFKZZ7.cjs');
var chunk67M7TOOV_cjs = require('./chunk-67M7TOOV.cjs');
var chunkAF3E2D32_cjs = require('./chunk-AF3E2D32.cjs');

// src/prepare/types/dts/node.ts
function generateNodeDeclarations(env, _context) {
  return `${chunk67M7TOOV_cjs.getFileHeader(`
/// <reference types="@storm-stack/types" />
/// <reference types="@storm-stack/types/node" />
`)}
declare global {
  const $storm: StormContext<${chunkV7LFKZZ7_cjs.generateVariables(env)}>;
}

export {};
 `;
}
chunkAF3E2D32_cjs.__name(generateNodeDeclarations, "generateNodeDeclarations");
function generateNodeGlobal(path, _context) {
  return `${chunk67M7TOOV_cjs.getFileHeader(`
/// <reference types="@storm-stack/types" />
/// <reference types="@storm-stack/types/node" />
`)}
declare global {
  const _StormEvent: (typeof import("${path}/event"))["StormEvent"];

  class StormEvent<TEventType extends string = string, TEventData = any>
   extends _StormEvent<TEventType, TEventData> {
    /**
    * Creates a new event.
    *
    * @param type - The event type.
    * @param data - The event data.
    */
    public constructor(
      type: TEventType,
      data: TEventData
    ) {
      super(type, data);
    }
  }

  const getBuildInfo: (typeof import("${path}/context"))["getBuildInfo"];
  const getRuntimeInfo: (typeof import("${path}/context"))["getRuntimeInfo"];
  const getEnvPaths: (typeof import("${path}/context"))["getEnvPaths"];
  const useStorm: (typeof import("${path}/context"))["useStorm"];
  const STORM_ASYNC_CONTEXT: (typeof import("${path}/context"))["STORM_ASYNC_CONTEXT"];
}

export {};

`;
}
chunkAF3E2D32_cjs.__name(generateNodeGlobal, "generateNodeGlobal");
function generateNodeModules(path, _context) {
  return `${chunk67M7TOOV_cjs.getFileHeader(`
/// <reference types="@storm-stack/types" />
/// <reference types="@storm-stack/types/node" />
`)}

declare module "storm:app" {
  const builder: (typeof import("${path}/app"))["builder"];

  export { builder };
}

declare module "storm:context" {
  const getBuildInfo: (typeof import("${path}/context"))["getBuildInfo"];
  const getRuntimeInfo: (typeof import("${path}/context"))["getRuntimeInfo"];
  const getEnvPaths: (typeof import("${path}/context"))["getEnvPaths"];
  const useStorm: (typeof import("${path}/context"))["useStorm"];
  const STORM_ASYNC_CONTEXT: (typeof import("${path}/context"))["STORM_ASYNC_CONTEXT"];

  export {
    getBuildInfo,
    getRuntimeInfo,
    getEnvPaths,
    useStorm,
    STORM_ASYNC_CONTEXT
  };
}

declare module "storm:event" {
  const _StormEvent: (typeof import("${path}/event"))["StormEvent"];

  class StormEvent<TEventType extends string = string, TEventData = any>
   extends _StormEvent<TEventType, TEventData> {
    /**
    * Creates a new event.
    *
    * @param type - The event type.
    * @param data - The event data.
    */
    public constructor(
      type: TEventType,
      data: TEventData
    ) {
      super(type, data);
    }
  }

  export { StormEvent };
}

`;
}
chunkAF3E2D32_cjs.__name(generateNodeModules, "generateNodeModules");

exports.generateNodeDeclarations = generateNodeDeclarations;
exports.generateNodeGlobal = generateNodeGlobal;
exports.generateNodeModules = generateNodeModules;
//# sourceMappingURL=chunk-6R7WPC5T.cjs.map
//# sourceMappingURL=chunk-6R7WPC5T.cjs.map