import { U as NodmixPluginApi, X as NodmixPluginDefinition, Y as NodmixPluginConfigSchema } from "./params-DGej4EA0.js";
//#region src/plugin-sdk/plugin-entry.d.ts
/** Options for a plugin entry that registers providers, tools, commands, or services. */
type DefinePluginEntryOptions = {
  id: string;
  name: string;
  description: string;
  /**
   * @deprecated Declare exclusive plugin kind in `openclaw.plugin.json` via
   * manifest `kind`. Runtime-entry `kind` remains only as a compatibility
   * fallback for older plugins.
   */
  kind?: NodmixPluginDefinition["kind"];
  configSchema?: NodmixPluginConfigSchema | (() => NodmixPluginConfigSchema);
  reload?: NodmixPluginDefinition["reload"];
  nodeHostCommands?: NodmixPluginDefinition["nodeHostCommands"];
  securityAuditCollectors?: NodmixPluginDefinition["securityAuditCollectors"];
  register: (api: NodmixPluginApi) => void;
};
/** Normalized object shape that Nodmix loads from a plugin entry module. */
type DefinedPluginEntry = {
  id: string;
  name: string;
  description: string;
  configSchema: NodmixPluginConfigSchema;
  register: NonNullable<NodmixPluginDefinition["register"]>;
} & Pick<NodmixPluginDefinition, "kind" | "reload" | "nodeHostCommands" | "securityAuditCollectors">;
/**
 * Canonical entry helper for non-channel plugins.
 *
 * Use this for provider, tool, command, service, memory, and context-engine
 * plugins. Channel plugins should use `defineChannelPluginEntry(...)` from
 * `nodmix/plugin-sdk/core` so they inherit the channel capability wiring.
 */
declare function definePluginEntry({
  id,
  name,
  description,
  kind,
  configSchema,
  reload,
  nodeHostCommands,
  securityAuditCollectors,
  register
}: DefinePluginEntryOptions): DefinedPluginEntry;
//#endregion
export { definePluginEntry as t };