export {
  SoulFire,
  toEffectBot,
  type BotSession,
  type PluginCatalog,
  type ReflectivePlugin,
  type SoulFireBot,
  type SoulFireBotControlLease,
  type SoulFireCamera,
  type SoulFireAdmin,
  type SoulFireFleet,
  type SoulFireFleetTaskGroup,
  type SoulFireChat,
  type SoulFireContainer,
  type SoulFireInventory,
  type SoulFireInstance,
  type SoulFirePathfinder,
  type SoulFireProtocol,
  type SoulFireRecipes,
  type SoulFireRegistry,
  type SoulFireTask,
  type SoulFireTasks,
  type SoulFireWorld,
} from "./promise-client.js";
export {
  SoulFireConnectionError,
  SoulFirePluginError,
  SoulFireRpcError,
  SoulFireTaskFailed,
} from "./effect-client.js";
export {
  SoulFireActionError,
  type BotMovement,
  type BotSelection,
  type RequiredPluginRequirement,
  type SoulFireOptions,
  type TokenProvider,
} from "./client.js";
export {
  BotTaskConflictPolicy,
  BotTaskDisconnectPolicy,
  BotTaskPriority,
  BotTaskReconnectPolicy,
  BotTaskStatus,
  SoulFireTaskError,
  isTerminalTaskStatus,
  type BotTask,
  type BotTaskEvent,
  type AttackEntityTarget,
  type AttackEntityTaskOptions,
  type AttackEntityTaskResult,
  type AttackNearestTaskOptions,
  type AttackNearestTaskResult,
  type AutoArmorTaskOptions,
  type AutoArmorTaskResult,
  type AutoEatTaskOptions,
  type AutoEatTaskResult,
  type AutoRespawnTaskOptions,
  type AutoRespawnTaskResult,
  type AutoTotemTaskOptions,
  type AutoTotemTaskResult,
  type BrewTaskOptions,
  type BrewTaskResult,
  type BreedTaskOptions,
  type BreedTaskResult,
  type SchematicBlock,
  type BuildTaskOptions,
  type BuildTaskResult,
  type CollectBlocksTaskOptions,
  type CollectBlocksTaskResult,
  type ContainerTransferSpec,
  type ContainerTransferTaskOptions,
  type ContainerTransferTaskResult,
  type CraftTaskOptions,
  type CraftTaskResult,
  type ExploreTaskOptions,
  type ExploreTaskResult,
  type ExcavateTaskOptions,
  type ExcavateTaskResult,
  type FarmTaskOptions,
  type FarmTaskResult,
  type FishTaskOptions,
  type FishTaskResult,
  type FollowEntityTarget,
  type FollowEntityTaskOptions,
  type FollowEntityTaskResult,
  type FleeTaskOptions,
  type FleeTaskResult,
  type GuardTaskOptions,
  type GuardTaskResult,
  type LoadoutRequirementSpec,
  type MaintainLoadoutTaskOptions,
  type MaintainLoadoutTaskResult,
  type GoToTaskOptions,
  type GoToTaskResult,
  type RangedAttackTaskOptions,
  type RangedAttackTaskResult,
  type SleepTaskOptions,
  type SleepTaskResult,
  type SmeltTaskOptions,
  type SmeltTaskResult,
  type TaskListOptions,
  type TaskStartOptions,
  type VillagerTradeTaskOptions,
  type VillagerTradeTaskResult,
} from "./tasks.js";
export {
  CapabilitySet,
  SDK_API_VERSION,
  SDK_VERSION,
  SoulFireCapabilityError,
  SoulFireCompatibilityError,
  type ConnectionMetadata,
  type ServerMetadata,
} from "./connection.js";
export {
  SoulFirePluginCompatibilityError,
  SoulFirePluginDescriptorError,
  SoulFirePluginNotFoundError,
  type ReflectivePluginEvent,
  type ReflectiveMessage,
  type TypedPluginEvent,
  type WatchPluginEventOptions,
} from "./plugins.js";
export {
  defineSoulFirePlugin,
  type SoulFirePluginModule,
} from "./effect-client.js";
export {
  ExamplePluginClient,
  examplePlugin,
} from "./example-plugin.js";
export type {
  BotBossBarState,
  BotEnvironmentState,
  BotScoreboardObjective,
  BotScoreboardScore,
  BotScoreboardState,
  BotScoreboardTeam,
  BotSessionOptions,
  BotSessionState,
} from "./session.js";
export {
  emptyBotSessionState,
  reduceBotSessionState,
} from "./session.js";
export type {
  LocalSoulFireServer,
  SoulFireInstallOptions,
} from "./install-types.js";
export { makeEffectHttpClientFetch } from "./platform.js";
export { toReadableStream } from "./streams.js";
export {
  goals,
  type BlockTarget,
  type EntityTarget,
  type PlanPathOptions,
  type WorldTarget,
} from "./pathfinding.js";
export {
  attackNearest,
  autoArmor,
  autoEat,
  autoRespawn,
  autoTotem,
  build,
  cleanup,
  collectBlocks,
  conditional,
  defineBehavior,
  fallback,
  followEntity,
  parallel,
  race,
  repeat,
  retry,
  runBehaviors,
  scopedLease,
  sequence,
  timeout,
  until,
  type AttackNearestOptions,
  type AutoArmorOptions,
  type AutoEatOptions,
  type AutoRespawnOptions,
  type AutoTotemOptions,
  type BehaviorContext,
  type BehaviorPredicate,
  type BehaviorResult,
  type BehaviorResults,
  type BotBehavior,
  type BotPredicate,
  type BuildPlacement,
  type CollectBlocksOptions,
  type ParallelOptions,
  type RepeatOptions,
  type RetryOptions,
  type UntilOptions,
  SoulFireBehaviorError,
  SoulFireBehaviorTimeoutError,
} from "./behaviors.js";
export type {
  ChatMatch,
  ChatMatcher,
  ChatMutationOptions,
  TabCompleteOptions,
  WaitForChatOptions,
  WatchChatOptions,
} from "./chat.js";
export { matchChat } from "./chat.js";
export {
  decodeCameraImage,
  type CameraRenderOptions,
  type CameraStreamOptions,
  type WorldMapOptions,
} from "./camera.js";
export {
  FleetTaskGroupError,
  type FleetAssignment,
  type FleetBot,
  type FleetDistributionOptions,
  type FleetMetadataSelector,
  type FleetPoint,
  type FleetSelector,
  type FleetTaskEvent,
  type FleetTaskMember,
  type FleetTaskOutcome,
  type FleetTaskReport,
  type FleetTaskResultValue,
  type FleetTaskStartFailure,
  type FleetTaskStartOptions,
} from "./fleet.js";
export type {
  SendRawPacketOptions,
  WatchPacketsOptions,
} from "./protocol.js";
export {
  PacketDirection,
  type BotProtocolInfo,
  type PacketSchema,
  type RawPacketEvent,
} from "./generated/soulfire/protocol_pb.js";
export {
  SoulFireContainerClosedError,
  type ContainerMutationOptions,
} from "./inventory.js";
export {
  BlockFace,
  BotActionStatus,
  BotEventFilterSchema,
  BotLifecycleKind,
  ChatSource,
  ChunkEventKind,
  EntityEventKind,
  Hand,
  PathfindStatus,
  ResourcePackEventKind,
  ResourcePackResponse,
  TitleEventKind,
  type BotActionResult,
  type BotChunkEvent,
  type BotControlLease,
  type BotEvent,
  type BotEventFilter,
  type BotResourcePackEvent,
  type BotTitleEvent,
  type CreativeItemStack,
  type NearbyEntity,
  type PathfindGoal,
  type PathfindOptions,
  type PathfindProgress,
  type WaitForChunksResponse,
} from "./generated/soulfire/bot_live_pb.js";
export {
  type BlockPosition,
  type WorldPosition,
} from "./generated/soulfire/common_pb.js";
export type {
  BlockSnapshot,
  EntityReference,
  EntitySnapshot,
  ItemStackSnapshot,
  PlayerSnapshot,
  TextComponent,
  Vec3,
} from "./generated/soulfire/domain_pb.js";
export {
  QuerySort,
  type BlockSelector,
  type BoxRegion,
  type CanSeeBlockResponse,
  type EntitySelector,
  type EstimateExplosionDamageResponse,
  type EstimateDigTimeResponse,
  type GetWorldBlockResponse,
  type GetWorldEntityResponse,
  type QueryBlocksResponse,
  type QueryEntitiesResponse,
  type QueryRegion,
  type RaycastResponse,
  type SphereRegion,
} from "./generated/soulfire/world_pb.js";
export {
  InstanceEventFilterSchema,
  type InstanceEvent,
  type InstanceEventFilter,
} from "./generated/soulfire/instance_live_pb.js";
export {
  PluginPermissionDefault,
  PluginPermissionRisk,
  PluginPermissionScope,
  type PluginPermissionDescriptor,
} from "./generated/soulfire/plugin_api_pb.js";
export type {
  UserPluginPermissionGrant,
} from "./generated/soulfire/user_pb.js";
