import { i as NodmixConfig } from "./types.nodmix-B9QJSty6.js";
import { t as PluginOrigin } from "./plugin-origin.types-CFJ3OkLP.js";
import { t as NormalizedPluginsConfig$1 } from "./config-normalization-shared-5-arMumO.js";

//#region src/plugins/config-activation-shared.d.ts
type PluginActivationSource = "disabled" | "explicit" | "auto" | "default";
type PluginActivationConfigLike = {
  enabled: boolean;
  allow: readonly string[];
  deny: readonly string[];
  slots: {
    memory?: string | null;
    contextEngine?: string | null;
  };
  entries: Record<string, {
    enabled?: boolean;
  } | undefined>;
};
type PluginActivationConfigSourceLike<TRootConfig> = {
  plugins: PluginActivationConfigLike;
  rootConfig?: TRootConfig;
};
//#endregion
//#region src/plugins/config-state.d.ts
type PluginActivationConfigSource = {
  plugins: NormalizedPluginsConfig;
  rootConfig?: NodmixConfig;
} & PluginActivationConfigSourceLike<NodmixConfig>;
type NormalizedPluginsConfig = NormalizedPluginsConfig$1;
declare const normalizePluginsConfig: (config?: NodmixConfig["plugins"]) => NormalizedPluginsConfig;
type EffectiveActivationParams = {
  id: string;
  origin: PluginOrigin;
  config: NormalizedPluginsConfig;
  rootConfig?: NodmixConfig;
  enabledByDefault?: boolean;
  activationSource?: PluginActivationConfigSource;
};
declare const resolveEffectiveEnableState: (params: EffectiveActivationParams) => {
  enabled: boolean;
  reason?: string;
};
//#endregion
export { resolveEffectiveEnableState as n, PluginActivationSource as r, normalizePluginsConfig as t };