// @generated by protoc-gen-es v2.13.0 with parameter "target=ts,import_extension=js"
// @generated from file soulfire/pathfinding.proto (package soulfire.v1, syntax proto3)
/* eslint-disable */

import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
import { file_google_api_annotations } from "../google/api/annotations_pb.js";
import { file_google_api_field_behavior } from "../google/api/field_behavior_pb.js";
import { file_soulfire_api_docs } from "./api_docs_pb.js";
import type { PathfindGoal, PathfindOptions } from "./bot_live_pb.js";
import { file_soulfire_bot_live } from "./bot_live_pb.js";
import type { BlockPosition } from "./common_pb.js";
import { file_soulfire_common } from "./common_pb.js";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file soulfire/pathfinding.proto.
 */
export const file_soulfire_pathfinding: GenFile = /*@__PURE__*/
  fileDesc("Chpzb3VsZmlyZS9wYXRoZmluZGluZy5wcm90bxILc291bGZpcmUudjEiqwEKCFBhdGhTdGVwEhIKBWluZGV4GAEgASgNQgPgQQISLAoEa2luZBgCIAEoDjIZLnNvdWxmaXJlLnYxLlBhdGhTdGVwS2luZEID4EECEjEKCHBvc2l0aW9uGAMgASgLMhouc291bGZpcmUudjEuQmxvY2tQb3NpdGlvbkID4EECEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhUKDW1heGltdW1fdGlja3MYBSABKA0iwwIKCFBhdGhQbGFuEjAKBnN0YXR1cxgBIAEoDjIbLnNvdWxmaXJlLnYxLlBhdGhQbGFuU3RhdHVzQgPgQQISLgoFc3RhcnQYAiABKAsyGi5zb3VsZmlyZS52MS5CbG9ja1Bvc2l0aW9uQgPgQQISJAoFc3RlcHMYAyADKAsyFS5zb3VsZmlyZS52MS5QYXRoU3RlcBIzCg9ibG9ja3NfdG9fYnJlYWsYBCADKAsyGi5zb3VsZmlyZS52MS5CbG9ja1Bvc2l0aW9uEjMKD2Jsb2Nrc190b19wbGFjZRgFIAMoCzIaLnNvdWxmaXJlLnYxLkJsb2NrUG9zaXRpb24SFQoNbWF4aW11bV90aWNrcxgGIAEoBBIbCg5wYXJ0aWFsX3JlYXNvbhgHIAEoCUgAiAEBQhEKD19wYXJ0aWFsX3JlYXNvbiLPAQoPUGxhblBhdGhSZXF1ZXN0EiIKC2luc3RhbmNlX2lkGAEgASgJQg3gQQLS8xgGCgR1dWlkEh0KBmJvdF9pZBgCIAEoCUIN4EEC0vMYBgoEdXVpZBIsCgRnb2FsGAMgASgLMhkuc291bGZpcmUudjEuUGF0aGZpbmRHb2FsQgPgQQISLQoHb3B0aW9ucxgEIAEoCzIcLnNvdWxmaXJlLnYxLlBhdGhmaW5kT3B0aW9ucxIcChRpbmNsdWRlX2Rlc2NyaXB0aW9ucxgFIAEoCCI8ChBQbGFuUGF0aFJlc3BvbnNlEigKBHBsYW4YASABKAsyFS5zb3VsZmlyZS52MS5QYXRoUGxhbkID4EECKt0BCgxQYXRoU3RlcEtpbmQSHgoaUEFUSF9TVEVQX0tJTkRfVU5TUEVDSUZJRUQQABIXChNQQVRIX1NURVBfS0lORF9NT1ZFEAESHgoaUEFUSF9TVEVQX0tJTkRfQlJFQUtfQkxPQ0sQAhIeChpQQVRIX1NURVBfS0lORF9QTEFDRV9CTE9DSxADEhcKE1BBVEhfU1RFUF9LSU5EX0pVTVAQBBIbChdQQVRIX1NURVBfS0lORF9JTlRFUkFDVBAFEh4KGlBBVEhfU1RFUF9LSU5EX1JFQ0FMQ1VMQVRFEAYq1gEKDlBhdGhQbGFuU3RhdHVzEiAKHFBBVEhfUExBTl9TVEFUVVNfVU5TUEVDSUZJRUQQABIdChlQQVRIX1BMQU5fU1RBVFVTX0NPTVBMRVRFEAESHAoYUEFUSF9QTEFOX1NUQVRVU19QQVJUSUFMEAISIAocUEFUSF9QTEFOX1NUQVRVU19VTlJFQUNIQUJMRRADEiMKH1BBVEhfUExBTl9TVEFUVVNfU0VBUkNIX0VYUElSRUQQBBIeChpQQVRIX1BMQU5fU1RBVFVTX0NBTkNFTExFRBAFMogCChFQYXRoZmluZGVyU2VydmljZRLyAQoIUGxhblBhdGgSHC5zb3VsZmlyZS52MS5QbGFuUGF0aFJlcXVlc3QaHS5zb3VsZmlyZS52MS5QbGFuUGF0aFJlc3BvbnNlIqgByvMYYAoNUGxhbiBib3QgcGF0aBoNUkVBRF9CT1RfSU5GTyIMaW5zdGFuY2UuYm90MjJTZWFyY2hlcyBsb2FkZWQgd29ybGQgZGF0YSB3aXRob3V0IG1vdmluZyB0aGUgYm90LoLT5JMCPjoBKiI5L3YxL2luc3RhbmNlcy97aW5zdGFuY2VfaWR9L2JvdHMve2JvdF9pZH0vcGF0aGZpbmRlcjpwbGFuQiEKHWNvbS5zb3VsZmlyZW1jLmdycGMuZ2VuZXJhdGVkUAFiBnByb3RvMw", [file_google_api_annotations, file_google_api_field_behavior, file_soulfire_api_docs, file_soulfire_bot_live, file_soulfire_common]);

/**
 * @generated from message soulfire.v1.PathStep
 */
export type PathStep = Message<"soulfire.v1.PathStep"> & {
  /**
   * @generated from field: uint32 index = 1;
   */
  index: number;

  /**
   * @generated from field: soulfire.v1.PathStepKind kind = 2;
   */
  kind: PathStepKind;

  /**
   * @generated from field: soulfire.v1.BlockPosition position = 3;
   */
  position?: BlockPosition | undefined;

  /**
   * @generated from field: string description = 4;
   */
  description: string;

  /**
   * @generated from field: uint32 maximum_ticks = 5;
   */
  maximumTicks: number;
};

/**
 * Describes the message soulfire.v1.PathStep.
 * Use `create(PathStepSchema)` to create a new message.
 */
export const PathStepSchema: GenMessage<PathStep> = /*@__PURE__*/
  messageDesc(file_soulfire_pathfinding, 0);

/**
 * @generated from message soulfire.v1.PathPlan
 */
export type PathPlan = Message<"soulfire.v1.PathPlan"> & {
  /**
   * @generated from field: soulfire.v1.PathPlanStatus status = 1;
   */
  status: PathPlanStatus;

  /**
   * @generated from field: soulfire.v1.BlockPosition start = 2;
   */
  start?: BlockPosition | undefined;

  /**
   * @generated from field: repeated soulfire.v1.PathStep steps = 3;
   */
  steps: PathStep[];

  /**
   * @generated from field: repeated soulfire.v1.BlockPosition blocks_to_break = 4;
   */
  blocksToBreak: BlockPosition[];

  /**
   * @generated from field: repeated soulfire.v1.BlockPosition blocks_to_place = 5;
   */
  blocksToPlace: BlockPosition[];

  /**
   * @generated from field: uint64 maximum_ticks = 6;
   */
  maximumTicks: bigint;

  /**
   * @generated from field: optional string partial_reason = 7;
   */
  partialReason?: string | undefined;
};

/**
 * Describes the message soulfire.v1.PathPlan.
 * Use `create(PathPlanSchema)` to create a new message.
 */
export const PathPlanSchema: GenMessage<PathPlan> = /*@__PURE__*/
  messageDesc(file_soulfire_pathfinding, 1);

/**
 * @generated from message soulfire.v1.PlanPathRequest
 */
export type PlanPathRequest = Message<"soulfire.v1.PlanPathRequest"> & {
  /**
   * @generated from field: string instance_id = 1;
   */
  instanceId: string;

  /**
   * @generated from field: string bot_id = 2;
   */
  botId: string;

  /**
   * @generated from field: soulfire.v1.PathfindGoal goal = 3;
   */
  goal?: PathfindGoal | undefined;

  /**
   * @generated from field: soulfire.v1.PathfindOptions options = 4;
   */
  options?: PathfindOptions | undefined;

  /**
   * @generated from field: bool include_descriptions = 5;
   */
  includeDescriptions: boolean;
};

/**
 * Describes the message soulfire.v1.PlanPathRequest.
 * Use `create(PlanPathRequestSchema)` to create a new message.
 */
export const PlanPathRequestSchema: GenMessage<PlanPathRequest> = /*@__PURE__*/
  messageDesc(file_soulfire_pathfinding, 2);

/**
 * @generated from message soulfire.v1.PlanPathResponse
 */
export type PlanPathResponse = Message<"soulfire.v1.PlanPathResponse"> & {
  /**
   * @generated from field: soulfire.v1.PathPlan plan = 1;
   */
  plan?: PathPlan | undefined;
};

/**
 * Describes the message soulfire.v1.PlanPathResponse.
 * Use `create(PlanPathResponseSchema)` to create a new message.
 */
export const PlanPathResponseSchema: GenMessage<PlanPathResponse> = /*@__PURE__*/
  messageDesc(file_soulfire_pathfinding, 3);

/**
 * @generated from enum soulfire.v1.PathStepKind
 */
export enum PathStepKind {
  /**
   * @generated from enum value: PATH_STEP_KIND_UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * @generated from enum value: PATH_STEP_KIND_MOVE = 1;
   */
  MOVE = 1,

  /**
   * @generated from enum value: PATH_STEP_KIND_BREAK_BLOCK = 2;
   */
  BREAK_BLOCK = 2,

  /**
   * @generated from enum value: PATH_STEP_KIND_PLACE_BLOCK = 3;
   */
  PLACE_BLOCK = 3,

  /**
   * @generated from enum value: PATH_STEP_KIND_JUMP = 4;
   */
  JUMP = 4,

  /**
   * @generated from enum value: PATH_STEP_KIND_INTERACT = 5;
   */
  INTERACT = 5,

  /**
   * @generated from enum value: PATH_STEP_KIND_RECALCULATE = 6;
   */
  RECALCULATE = 6,
}

/**
 * Describes the enum soulfire.v1.PathStepKind.
 */
export const PathStepKindSchema: GenEnum<PathStepKind> = /*@__PURE__*/
  enumDesc(file_soulfire_pathfinding, 0);

/**
 * @generated from enum soulfire.v1.PathPlanStatus
 */
export enum PathPlanStatus {
  /**
   * @generated from enum value: PATH_PLAN_STATUS_UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * @generated from enum value: PATH_PLAN_STATUS_COMPLETE = 1;
   */
  COMPLETE = 1,

  /**
   * @generated from enum value: PATH_PLAN_STATUS_PARTIAL = 2;
   */
  PARTIAL = 2,

  /**
   * @generated from enum value: PATH_PLAN_STATUS_UNREACHABLE = 3;
   */
  UNREACHABLE = 3,

  /**
   * @generated from enum value: PATH_PLAN_STATUS_SEARCH_EXPIRED = 4;
   */
  SEARCH_EXPIRED = 4,

  /**
   * @generated from enum value: PATH_PLAN_STATUS_CANCELLED = 5;
   */
  CANCELLED = 5,
}

/**
 * Describes the enum soulfire.v1.PathPlanStatus.
 */
export const PathPlanStatusSchema: GenEnum<PathPlanStatus> = /*@__PURE__*/
  enumDesc(file_soulfire_pathfinding, 1);

/**
 * @generated from service soulfire.v1.PathfinderService
 */
export const PathfinderService: GenService<{
  /**
   * @generated from rpc soulfire.v1.PathfinderService.PlanPath
   */
  planPath: {
    methodKind: "unary";
    input: typeof PlanPathRequestSchema;
    output: typeof PlanPathResponseSchema;
  },
}> = /*@__PURE__*/
  serviceDesc(file_soulfire_pathfinding, 0);
