// Discord API module exposes the plugin public contract.
export {
  discordMessageActions,
  handleDiscordAction,
  isDiscordModerationAction,
  readDiscordChannelCreateParams,
  readDiscordChannelEditParams,
  readDiscordChannelMoveParams,
  readDiscordModerationCommand,
  readDiscordParentIdParam,
  requiredGuildPermissionForModerationAction,
  type DiscordModerationAction,
  type DiscordModerationCommand,
} from "./runtime-api.actions.js";
export {
  auditDiscordChannelPermissions,
  collectDiscordAuditChannelIds,
  fetchDiscordApplicationId,
  fetchDiscordApplicationSummary,
  listDiscordDirectoryGroupsLive,
  listDiscordDirectoryPeersLive,
  parseApplicationIdFromToken,
  probeDiscord,
  resolveDiscordChannelAllowlist,
  resolveDiscordPrivilegedIntentsFromFlags,
  resolveDiscordUserAllowlist,
  setDiscordRuntime,
  type DiscordApplicationSummary,
  type DiscordChannelResolution,
  type DiscordPrivilegedIntentsSummary,
  type DiscordPrivilegedIntentStatus,
  type DiscordProbe,
  type DiscordUserResolution,
} from "./runtime-api.lookup.js";
export {
  DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS,
  DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS,
  DISCORD_DEFAULT_INBOUND_WORKER_TIMEOUT_MS,
  DISCORD_DEFAULT_LISTENER_TIMEOUT_MS,
  allowListMatches,
  clearGateways,
  clearPresences,
  createDiscordGatewayPlugin,
  createDiscordMessageHandler,
  createDiscordNativeCommand,
  getGateway,
  getPresence,
  isAbortError,
  isDiscordGroupAllowedByPolicy,
  monitorDiscordProvider,
  normalizeDiscordAllowList,
  normalizeDiscordInboundWorkerTimeoutMs,
  normalizeDiscordListenerTimeoutMs,
  normalizeDiscordSlug,
  presenceCacheSize,
  registerDiscordListener,
  registerGateway,
  resolveDiscordChannelConfig,
  resolveDiscordChannelConfigWithFallback,
  resolveDiscordCommandAuthorized,
  resolveDiscordGatewayIntents,
  resolveDiscordGuildEntry,
  resolveDiscordReplyTarget,
  resolveDiscordShouldRequireMention,
  resolveGroupDmAllow,
  runDiscordTaskWithTimeout,
  sanitizeDiscordThreadName,
  setPresence,
  shouldEmitDiscordReactionNotification,
  unregisterGateway,
  waitForDiscordGatewayPluginRegistration,
  type DiscordAllowList,
  type DiscordChannelConfigResolved,
  type DiscordGuildEntryResolved,
  type DiscordMessageEvent,
  type DiscordMessageHandler,
  type MonitorDiscordOpts,
} from "./runtime-api.monitor.js";
export {
  DiscordSendError,
  addRoleDiscord,
  banMemberDiscord,
  createChannelDiscord,
  createScheduledEventDiscord,
  createThreadDiscord,
  deleteChannelDiscord,
  deleteMessageDiscord,
  editChannelDiscord,
  editDiscordComponentMessage,
  editMessageDiscord,
  fetchChannelInfoDiscord,
  fetchChannelPermissionsDiscord,
  fetchMemberGuildPermissionsDiscord,
  fetchMemberInfoDiscord,
  fetchMessageDiscord,
  fetchReactionsDiscord,
  fetchRoleInfoDiscord,
  fetchVoiceStatusDiscord,
  hasAllGuildPermissionsDiscord,
  hasAnyGuildPermissionDiscord,
  kickMemberDiscord,
  listGuildChannelsDiscord,
  listGuildEmojisDiscord,
  listPinsDiscord,
  listScheduledEventsDiscord,
  listThreadsDiscord,
  moveChannelDiscord,
  pinMessageDiscord,
  reactMessageDiscord,
  readMessagesDiscord,
  registerBuiltDiscordComponentMessage,
  removeChannelPermissionDiscord,
  removeOwnReactionsDiscord,
  removeReactionDiscord,
  removeRoleDiscord,
  resolveDiscordOutboundSessionRoute,
  resolveEventCoverImage,
  searchMessagesDiscord,
  sendDiscordComponentMessage,
  sendMessageDiscord,
  sendPollDiscord,
  sendStickerDiscord,
  sendTypingDiscord,
  sendVoiceMessageDiscord,
  sendWebhookMessageDiscord,
  setChannelPermissionDiscord,
  timeoutMemberDiscord,
  unpinMessageDiscord,
  uploadEmojiDiscord,
  uploadStickerDiscord,
  type DiscordChannelCreate,
  type DiscordChannelEdit,
  type DiscordChannelMove,
  type DiscordChannelPermissionSet,
  type DiscordEmojiUpload,
  type DiscordMessageEdit,
  type DiscordMessageQuery,
  type DiscordModerationTarget,
  type DiscordPermissionsSummary,
  type DiscordReactionRuntimeContext,
  type DiscordReactionSummary,
  type DiscordReactionUser,
  type DiscordReactOpts,
  type DiscordRoleChange,
  type DiscordRuntimeAccountContext,
  type DiscordSearchQuery,
  type DiscordSendResult,
  type DiscordStickerUpload,
  type DiscordThreadCreate,
  type DiscordThreadList,
  type DiscordTimeoutTarget,
  type ResolveDiscordOutboundSessionRouteParams,
} from "./runtime-api.send.js";
export {
  autoBindSpawnedDiscordSubagent,
  createNoopThreadBindingManager,
  createThreadBindingManager,
  formatThreadBindingDurationLabel,
  getThreadBindingManager,
  listThreadBindingsBySessionKey,
  listThreadBindingsForAccount,
  reconcileAcpThreadBindingsOnStartup,
  resolveDiscordThreadBindingIdleTimeoutMs,
  resolveDiscordThreadBindingMaxAgeMs,
  resolveThreadBindingIdleTimeoutMs,
  resolveThreadBindingInactivityExpiresAt,
  resolveThreadBindingIntroText,
  resolveThreadBindingMaxAgeExpiresAt,
  resolveThreadBindingMaxAgeMs,
  resolveThreadBindingPersona,
  resolveThreadBindingPersonaFromRecord,
  resolveThreadBindingsEnabled,
  resolveThreadBindingThreadName,
  setThreadBindingIdleTimeoutBySessionKey,
  setThreadBindingMaxAgeBySessionKey,
  unbindThreadBindingsBySessionKey,
  type AcpThreadBindingReconciliationResult,
  type ThreadBindingManager,
  type ThreadBindingRecord,
  type ThreadBindingTargetKind,
} from "./runtime-api.threads.js";
