import { i as NodmixConfig } from "./types.nodmix-Dph4_Y30.js";
import { t as CommandArgValues } from "./commands-args.types-BetHnA9i.js";

//#region src/auto-reply/thinking.shared.d.ts
type ThinkLevel = "off" | "minimal" | "low" | "medium" | "high" | "xhigh" | "adaptive" | "max";
type VerboseLevel = "off" | "on" | "full";
type TraceLevel = "off" | "on" | "raw";
type ElevatedLevel = "off" | "on" | "ask" | "full";
type ReasoningLevel = "off" | "on" | "stream";
type ThinkingCatalogEntry = {
  provider: string;
  id: string;
  reasoning?: boolean;
  compat?: {
    thinkingFormat?: string;
    supportedReasoningEfforts?: readonly string[] | null;
  } | null;
};
//#endregion
//#region src/auto-reply/commands-registry.types.d.ts
type CommandScope = "text" | "native" | "both";
/**
 * Controls progressive disclosure of commands in the UI.
 * - "essential": Always visible (~10 core commands)
 * - "standard": Shown on expand / "Show more" (~15 commands)
 * - "power": Only surfaced via search or explicit filter (~15 commands)
 */
type CommandTier = "essential" | "standard" | "power";
type CommandCategory = "session" | "options" | "status" | "management" | "media" | "tools" | "docks";
type CommandArgType = "string" | "number" | "boolean";
type CommandArgChoiceContext = {
  cfg?: NodmixConfig;
  provider?: string;
  model?: string;
  catalog?: ThinkingCatalogEntry[];
  command: ChatCommandDefinition;
  arg: CommandArgDefinition;
};
type CommandArgChoice = string | {
  value: string;
  label: string;
};
type CommandArgChoicesProvider = (context: CommandArgChoiceContext) => CommandArgChoice[];
type CommandArgDefinition = {
  name: string;
  description: string;
  type: CommandArgType;
  required?: boolean;
  choices?: CommandArgChoice[] | CommandArgChoicesProvider;
  preferAutocomplete?: boolean;
  captureRemaining?: boolean;
};
type CommandArgMenuSpec = {
  arg: string;
  title?: string;
};
type CommandArgsParsing = "none" | "positional";
type ChatCommandDefinition = {
  key: string;
  nativeName?: string;
  nativeAliases?: string[];
  description: string; /** Localized descriptions for native command surfaces that support them. */
  descriptionLocalizations?: Record<string, string>;
  textAliases: string[];
  acceptsArgs?: boolean;
  args?: CommandArgDefinition[];
  argsParsing?: CommandArgsParsing;
  formatArgs?: (values: CommandArgValues) => string | undefined;
  argsMenu?: CommandArgMenuSpec | "auto";
  scope: CommandScope;
  category?: CommandCategory; /** Progressive disclosure tier. Defaults to "standard" when omitted. */
  tier?: CommandTier;
};
type NativeCommandSpec = {
  name: string;
  description: string;
  descriptionLocalizations?: Record<string, string>;
  acceptsArgs: boolean;
  args?: CommandArgDefinition[];
  isAlias?: boolean;
};
type CommandNormalizeOptions = {
  botUsername?: string;
};
type CommandDetection = {
  exact: Set<string>;
  regex: RegExp;
};
type ShouldHandleTextCommandsParams = {
  cfg: NodmixConfig;
  surface: string;
  commandSource?: "text" | "native";
};
//#endregion
export { CommandArgsParsing as a, CommandScope as c, ElevatedLevel as d, ReasoningLevel as f, VerboseLevel as g, TraceLevel as h, CommandArgMenuSpec as i, NativeCommandSpec as l, ThinkingCatalogEntry as m, CommandArgChoiceContext as n, CommandDetection as o, ThinkLevel as p, CommandArgDefinition as r, CommandNormalizeOptions as s, ChatCommandDefinition as t, ShouldHandleTextCommandsParams as u };