export {
  SoulFire,
  SoulFireClient,
  SoulFireConnectionError,
  SoulFirePluginError,
  SoulFireRpcError,
  SoulFireTaskFailed,
  SoulFireService,
  SoulFireExtensionTypeId,
  EffectPluginCatalog,
  EffectPluginCatalog as PluginCatalog,
  defineSoulFirePlugin,
  type EffectBotSession,
  type EffectSoulFireBot,
  type EffectSoulFireBotControlLease,
  type EffectSoulFireCamera,
  type EffectSoulFireAdmin,
  type EffectSoulFireFleet,
  type EffectSoulFireFleetTaskGroup,
  type EffectSoulFireChat,
  type EffectSoulFireContainer,
  type EffectSoulFireInventory,
  type EffectSoulFireInstance,
  type EffectSoulFirePathfinder,
  type EffectSoulFireProtocol,
  type EffectSoulFireRecipes,
  type EffectSoulFireRegistry,
  type EffectSoulFireTask,
  type EffectSoulFireTasks,
  type EffectSoulFireWorld,
  type EffectReflectivePlugin,
  type SoulFireExtension,
  type SoulFirePluginModule,
  type EffectBotSession as BotSession,
  type EffectSoulFireBot as SoulFireBot,
  type EffectSoulFireBotControlLease as SoulFireBotControlLease,
  type EffectSoulFireCamera as SoulFireCamera,
  type EffectSoulFireAdmin as SoulFireAdmin,
  type EffectSoulFireFleet as SoulFireFleet,
  type EffectSoulFireFleetTaskGroup as SoulFireFleetTaskGroup,
  type EffectSoulFireChat as SoulFireChat,
  type EffectSoulFireContainer as SoulFireContainer,
  type EffectSoulFireInventory as SoulFireInventory,
  type EffectSoulFireInstance as SoulFireInstance,
  type EffectSoulFirePathfinder as SoulFirePathfinder,
  type EffectSoulFireProtocol as SoulFireProtocol,
  type EffectSoulFireRecipes as SoulFireRecipes,
  type EffectSoulFireRegistry as SoulFireRegistry,
  type EffectSoulFireTask as SoulFireTask,
  type EffectSoulFireTasks as SoulFireTasks,
  type EffectSoulFireWorld as SoulFireWorld,
  type EffectReflectivePlugin as ReflectivePlugin,
} from "./effect-client.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 {
  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 {
  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 type {
  LocalSoulFireServer,
  SoulFireInstallOptions,
} from "./install-types.js";
export { makeEffectHttpClientFetch } from "./platform.js";
export { toReadableStream } from "./streams.js";
export {
  goals,
  SoulFirePathfinder as PromiseSoulFirePathfinder,
  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 BotBehavior,
  type BotPredicate,
  type BehaviorPredicate,
  type BehaviorResult,
  type BehaviorResults,
  type BuildPlacement,
  type CollectBlocksOptions,
  type ParallelOptions,
  type RepeatOptions,
  type RetryOptions,
  type UntilOptions,
  SoulFireBehaviorError,
} from "./effect-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 {
  SoulFireContainerClosedError,
  type ContainerMutationOptions,
  type InventoryRankingOptions,
  type InventoryRankOptions,
} from "./inventory.js";
export {
  InventoryArea,
  InventoryRecommendationKind,
  type InventoryItemRecommendation,
  type InventoryItemScoreFactor,
  type RankInventoryItemsResponse,
} from "./generated/soulfire/inventory_pb.js";

export {
  PacketDirection,
  type BotProtocolInfo,
  type PacketSchema,
  type RawPacketEvent,
} from "./generated/soulfire/protocol_pb.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 {
  BotDesiredState,
  BotRuntimeState,
  ClickType,
  type BotGetDialogResponse,
  type BotInfoResponse,
  type BotInventoryStateResponse,
  type BotFleetSummary,
  type BotListEntry,
  type BotLiveState,
  type BotStatus,
  type WatchBotStatusesResponse,
} from "./generated/soulfire/bot_pb.js";
export {
  AccountTypeCredentials,
  AccountTypeDeviceCode,
  type MinecraftAccountProto,
  type ProxyProto,
} from "./generated/soulfire/common_pb.js";
export type {
  CredentialsAuthResponse,
  DeviceCodeAuthResponse,
  RefreshResponse,
} from "./generated/soulfire/mc-auth_pb.js";
export type {
  InstanceInfo,
  InstanceListResponse_Instance,
} from "./generated/soulfire/instance_pb.js";
export {
  InstanceEventFilterSchema,
  type InstanceEvent,
  type InstanceEventFilter,
} from "./generated/soulfire/instance_live_pb.js";
export {
  NextAuthFlowResponse_Failure_Reason,
  type NextAuthFlowResponse,
} from "./generated/soulfire/login_pb.js";
export {
  PluginPermissionDefault,
  PluginPermissionRisk,
  PluginPermissionScope,
  type PluginPermissionDescriptor,
} from "./generated/soulfire/plugin_api_pb.js";
export type {
  UserPluginPermissionGrant,
} from "./generated/soulfire/user_pb.js";
