import { __ΩEnvInterface, __ΩSecretsInterface } from "./runtime.mjs";
import { __ΩBabelPluginContext, __ΩBabelPluginOptions, __ΩBabelPluginResolvedConfig, __ΩBabelPluginUserConfig } from "@powerlines/plugin-babel/types";
import { __ΩAutoMDPluginOptions } from "@powerlines/plugin-automd/types/plugin";
import { __ΩAlloyPluginContext, __ΩAlloyPluginOptions, __ΩAlloyPluginResolvedConfig, __ΩAlloyPluginUserConfig } from "@powerlines/plugin-alloy/types";
import { __ΩReflection } from "@powerlines/deepkit/types";

//#region src/types/plugin.ts
const __ΩOmit = [
	"T",
	"K",
	() => __ΩPick,
	() => __ΩExclude,
	"Omit",
	"b!b\"e!!e!!ge!\"o$#o##w%y"
];
const __ΩRequired = [
	"T",
	"Required",
	"l+e#!e\"!fRb!Pde\"!gN##w\"y"
];
const __ΩPick = [
	"T",
	"K",
	"Pick",
	"l+e#!e\"!fRb!b\"Pde\"\"N#!w#y"
];
const __ΩExclude = [
	"T",
	"U",
	"Exclude",
	"l6!Re$!RPe#!e$\"qk#%QRb!b\"Pde\"!p)w#y"
];
const __ΩEnvType = [
	"env",
	"secrets",
	"EnvType",
	"P.!.\"Jw#y"
];
const __ΩEnvPluginOptions = [
	() => __ΩOmit,
	"types",
	"types",
	"A path to the type definition for the expected env configuration parameters. This value can include both a path to the typescript file and the name of the type definition to use separated by a `\":\"` or `\"#\"` character. For example: `\"./src/types/env.ts#ConfigConfiguration\"`.",
	"secrets",
	"A path to the type definition for the expected env secret parameters. This value can include both a path to the typescript file and the name of the type definition to use separated by a `\":\"` or `\"#\"` character. For example: `\"./src/types/env.ts#ConfigSecrets\"`.",
	"prefix",
	"An additional prefix (or list of additional prefixes) to apply to the environment variables",
	"inject",
	true,
	"Should the plugin inject the env variables in the source code with their values?",
	"Children",
	"defaultConfig",
	"The default configuration to use when loading environment variables.",
	() => __ΩBabelPluginOptions,
	"babel",
	"Babel configuration options to use when injecting environment variables into the source code.",
	() => __ΩAutoMDPluginOptions,
	"automd",
	"AutoMD configuration options to allow injecting environment variables documentation into a markdown file such as a README.md.",
	() => __ΩAlloyPluginOptions,
	"alloy",
	"Alloy configuration options to use when injecting environment variables into the source code.",
	"EnvPluginOptions",
	"P!.\"o!#P!4#8?$!4%8?&P&&FJ4'8?()4)8>*?+\"w,4-8?.n/408?1n2438?4n5468?7MKw8y"
];
const __ΩEnvPluginUserConfig = [
	() => __ΩBabelPluginUserConfig,
	() => __ΩAlloyPluginUserConfig,
	() => __ΩEnvPluginOptions,
	"env",
	"EnvPluginUserConfig",
	"Pn!n\"Pn#4$MKw%y"
];
const __ΩEnvPluginResolvedConfig = [
	() => __ΩBabelPluginResolvedConfig,
	() => __ΩAlloyPluginResolvedConfig,
	() => __ΩRequired,
	() => __ΩPick,
	"additionalFiles",
	() => __ΩRequired,
	() => __ΩPick,
	() => __ΩEnvPluginOptions,
	"defaultConfig",
	"types",
	"The type definition for the expected env variable parameters",
	"secrets",
	"The type definition for the expected env secret parameters",
	() => __ΩEnvPluginOptions,
	"inject",
	"inject",
	"Should the plugin inject the env variables in the source code with their values?",
	"prefix",
	"The prefix used for environment variables",
	"env",
	"EnvPluginResolvedConfig",
	"Pn!n\"PP!.%o$#o#\"n(.)o'#o&\"P!4*?+!4,?-n../f40?1&F42?3MK44MKw5y"
];
const __ΩEnvPluginContext = [
	() => __ΩEnvPluginResolvedConfig,
	"TResolvedConfig",
	() => __ΩBabelPluginContext,
	() => __ΩAlloyPluginContext,
	() => __ΩReflection,
	"env",
	"The type definitions for the expected env variables",
	() => __ΩReflection,
	"secrets",
	"The type definitions for the expected env secrets",
	"The type definitions reflection for the env variables and secrets",
	"types",
	() => __ΩReflection,
	() => __ΩEnvInterface,
	"The current env variables reflection",
	() => __ΩReflection,
	() => __ΩSecretsInterface,
	"The current env secrets reflection",
	"The current **used** environment variables and secrets reflection",
	"used",
	"parsed",
	"The parsed .env configuration object",
	() => __ΩReflection,
	"injected",
	"The injected environment variables and secrets reflection",
	"EnvPluginContext",
	"n!c\"Pe\"!o#\"e\"!o$\"PPn%4&?'n(4)?*M?+4,?+Pn.o-\"4&?/n1o0\"4)?2M?344?3!45?6n748?9M4&Mw:y"
];

//#endregion
export { __ΩEnvPluginContext, __ΩEnvPluginOptions, __ΩEnvPluginResolvedConfig, __ΩEnvPluginUserConfig, __ΩEnvType };
//# sourceMappingURL=plugin.mjs.map