import { o as PluginEntryConfig, r as OpenClawConfig } from "./types.openclaw-yUy4bDSr.js";
import { t as SchemaContract } from "./schema-contract-v05QRSzC.js";
//#region src/plugins/config-normalization-shared.d.ts
/** Canonical plugin config shape consumed by runtime policy and loaders. */
type NormalizedPluginsConfig = {
  enabled: boolean;
  allow: string[];
  deny: string[];
  loadPaths: string[];
  slots: {
    memory?: string | null;
    contextEngine?: string | null;
  };
  entries: Record<string, {
    enabled?: boolean;
    hooks?: SchemaContract<NonNullable<PluginEntryConfig["hooks"]>>;
    subagent?: SchemaContract<NonNullable<PluginEntryConfig["subagent"]>> & {
      hasAllowedModelsConfig?: boolean;
    };
    llm?: SchemaContract<NonNullable<PluginEntryConfig["llm"]>> & {
      hasAllowedModelsConfig?: boolean;
      hasAllowedCompletionModelsConfig?: boolean;
    };
    config?: unknown;
  }>;
};
//#endregion
//#region src/plugins/config-activation-shared.d.ts
type PluginActivationSource = "disabled" | "explicit" | "auto" | "default";
type PluginActivationStateLike = {
  enabled: boolean;
  activated: boolean;
  explicitlyEnabled: boolean;
  source: PluginActivationSource;
  reason?: string;
};
type PluginActivationConfigSourceLike = {
  plugins: NormalizedPluginsConfig;
  rootConfig?: OpenClawConfig;
};
//#endregion
export { NormalizedPluginsConfig as i, PluginActivationSource as n, PluginActivationStateLike as r, PluginActivationConfigSourceLike as t };