// @generated by protoc-gen-es v2.12.0 with parameter "target=ts"
// @generated from file meshtastic/device_ui.proto (package meshtastic, syntax proto3)
/* eslint-disable */

import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file meshtastic/device_ui.proto.
 */
export const file_meshtastic_device_ui: GenFile = /*@__PURE__*/
  fileDesc("ChptZXNodGFzdGljL2RldmljZV91aS5wcm90bxIKbWVzaHRhc3RpYyLABQoORGV2aWNlVUlDb25maWcSDwoHdmVyc2lvbhgBIAEoDRIZChFzY3JlZW5fYnJpZ2h0bmVzcxgCIAEoDRIWCg5zY3JlZW5fdGltZW91dBgDIAEoDRITCgtzY3JlZW5fbG9jaxgEIAEoCBIVCg1zZXR0aW5nc19sb2NrGAUgASgIEhAKCHBpbl9jb2RlGAYgASgNEiAKBXRoZW1lGAcgASgOMhEubWVzaHRhc3RpYy5UaGVtZRIVCg1hbGVydF9lbmFibGVkGAggASgIEhYKDmJhbm5lcl9lbmFibGVkGAkgASgIEhQKDHJpbmdfdG9uZV9pZBgKIAEoDRImCghsYW5ndWFnZRgLIAEoDjIULm1lc2h0YXN0aWMuTGFuZ3VhZ2USKwoLbm9kZV9maWx0ZXIYDCABKAsyFi5tZXNodGFzdGljLk5vZGVGaWx0ZXISMQoObm9kZV9oaWdobGlnaHQYDSABKAsyGS5tZXNodGFzdGljLk5vZGVIaWdobGlnaHQSGAoQY2FsaWJyYXRpb25fZGF0YRgOIAEoDBIhCghtYXBfZGF0YRgPIAEoCzIPLm1lc2h0YXN0aWMuTWFwEi0KDGNvbXBhc3NfbW9kZRgQIAEoDjIXLm1lc2h0YXN0aWMuQ29tcGFzc01vZGUSGAoQc2NyZWVuX3JnYl9jb2xvchgRIAEoDRIbChNpc19jbG9ja2ZhY2VfYW5hbG9nGBIgASgIEkIKCmdwc19mb3JtYXQYEyABKA4yLi5tZXNodGFzdGljLkRldmljZVVJQ29uZmlnLkdwc0Nvb3JkaW5hdGVGb3JtYXQiVgoTR3BzQ29vcmRpbmF0ZUZvcm1hdBIHCgNERUMQABIHCgNETVMQARIHCgNVVE0QAhIICgRNR1JTEAMSBwoDT0xDEAQSCAoET1NHUhAFEgcKA01MUxAGIqcBCgpOb2RlRmlsdGVyEhYKDnVua25vd25fc3dpdGNoGAEgASgIEhYKDm9mZmxpbmVfc3dpdGNoGAIgASgIEhkKEXB1YmxpY19rZXlfc3dpdGNoGAMgASgIEhEKCWhvcHNfYXdheRgEIAEoBRIXCg9wb3NpdGlvbl9zd2l0Y2gYBSABKAgSEQoJbm9kZV9uYW1lGAYgASgJEg8KB2NoYW5uZWwYByABKAUifgoNTm9kZUhpZ2hsaWdodBITCgtjaGF0X3N3aXRjaBgBIAEoCBIXCg9wb3NpdGlvbl9zd2l0Y2gYAiABKAgSGAoQdGVsZW1ldHJ5X3N3aXRjaBgDIAEoCBISCgppYXFfc3dpdGNoGAQgASgIEhEKCW5vZGVfbmFtZRgFIAEoCSI9CghHZW9Qb2ludBIMCgR6b29tGAEgASgFEhAKCGxhdGl0dWRlGAIgASgFEhEKCWxvbmdpdHVkZRgDIAEoBSJMCgNNYXASIgoEaG9tZRgBIAEoCzIULm1lc2h0YXN0aWMuR2VvUG9pbnQSDQoFc3R5bGUYAiABKAkSEgoKZm9sbG93X2dwcxgDIAEoCCo+CgtDb21wYXNzTW9kZRILCgdEWU5BTUlDEAASDgoKRklYRURfUklORxABEhIKDkZSRUVaRV9IRUFESU5HEAIqJQoFVGhlbWUSCAoEREFSSxAAEgkKBUxJR0hUEAESBwoDUkVEEAIqwAIKCExhbmd1YWdlEgsKB0VOR0xJU0gQABIKCgZGUkVOQ0gQARIKCgZHRVJNQU4QAhILCgdJVEFMSUFOEAMSDgoKUE9SVFVHVUVTRRAEEgsKB1NQQU5JU0gQBRILCgdTV0VESVNIEAYSCwoHRklOTklTSBAHEgoKBlBPTElTSBAIEgsKB1RVUktJU0gQCRILCgdTRVJCSUFOEAoSCwoHUlVTU0lBThALEgkKBURVVENIEAwSCQoFR1JFRUsQDRINCglOT1JXRUdJQU4QDhINCglTTE9WRU5JQU4QDxINCglVS1JBSU5JQU4QEBINCglCVUxHQVJJQU4QERIJCgVDWkVDSBASEgoKBkRBTklTSBATEhYKElNJTVBMSUZJRURfQ0hJTkVTRRAeEhcKE1RSQURJVElPTkFMX0NISU5FU0UQH0JkChRvcmcubWVzaHRhc3RpYy5wcm90b0IORGV2aWNlVUlQcm90b3NaImdpdGh1Yi5jb20vbWVzaHRhc3RpYy9nby9nZW5lcmF0ZWSqAhRNZXNodGFzdGljLlByb3RvYnVmc7oCAGIGcHJvdG8z");

/**
 * @generated from message meshtastic.DeviceUIConfig
 */
export type DeviceUIConfig = Message<"meshtastic.DeviceUIConfig"> & {
  /**
   *
   * A version integer used to invalidate saved files when we make incompatible changes.
   *
   * @generated from field: uint32 version = 1;
   */
  version: number;

  /**
   *
   * TFT display brightness 1..255
   *
   * @generated from field: uint32 screen_brightness = 2;
   */
  screenBrightness: number;

  /**
   *
   * Screen timeout 0..900
   *
   * @generated from field: uint32 screen_timeout = 3;
   */
  screenTimeout: number;

  /**
   *
   * Screen/Settings lock enabled
   *
   * @generated from field: bool screen_lock = 4;
   */
  screenLock: boolean;

  /**
   * @generated from field: bool settings_lock = 5;
   */
  settingsLock: boolean;

  /**
   * @generated from field: uint32 pin_code = 6;
   */
  pinCode: number;

  /**
   *
   * Color theme
   *
   * @generated from field: meshtastic.Theme theme = 7;
   */
  theme: Theme;

  /**
   *
   * Audible message, banner and ring tone
   *
   * @generated from field: bool alert_enabled = 8;
   */
  alertEnabled: boolean;

  /**
   * @generated from field: bool banner_enabled = 9;
   */
  bannerEnabled: boolean;

  /**
   * @generated from field: uint32 ring_tone_id = 10;
   */
  ringToneId: number;

  /**
   *
   * Localization
   *
   * @generated from field: meshtastic.Language language = 11;
   */
  language: Language;

  /**
   *
   * Node list filter
   *
   * @generated from field: meshtastic.NodeFilter node_filter = 12;
   */
  nodeFilter?: NodeFilter | undefined;

  /**
   *
   * Node list highlightening
   *
   * @generated from field: meshtastic.NodeHighlight node_highlight = 13;
   */
  nodeHighlight?: NodeHighlight | undefined;

  /**
   *
   * 8 integers for screen calibration data
   *
   * @generated from field: bytes calibration_data = 14;
   */
  calibrationData: Uint8Array;

  /**
   *
   * Map related data
   *
   * @generated from field: meshtastic.Map map_data = 15;
   */
  mapData?: Map | undefined;

  /**
   *
   * Compass mode
   *
   * @generated from field: meshtastic.CompassMode compass_mode = 16;
   */
  compassMode: CompassMode;

  /**
   *
   * RGB color for BaseUI
   * 0xRRGGBB format, e.g. 0xFF0000 for red
   *
   * @generated from field: uint32 screen_rgb_color = 17;
   */
  screenRgbColor: number;

  /**
   *
   * Clockface analog style
   * true for analog clockface, false for digital clockface
   *
   * @generated from field: bool is_clockface_analog = 18;
   */
  isClockfaceAnalog: boolean;

  /**
   *
   * How the GPS coordinates are formatted on the OLED screen.
   *
   * @generated from field: meshtastic.DeviceUIConfig.GpsCoordinateFormat gps_format = 19;
   */
  gpsFormat: DeviceUIConfig_GpsCoordinateFormat;
};

/**
 * Describes the message meshtastic.DeviceUIConfig.
 * Use `create(DeviceUIConfigSchema)` to create a new message.
 */
export const DeviceUIConfigSchema: GenMessage<DeviceUIConfig> = /*@__PURE__*/
  messageDesc(file_meshtastic_device_ui, 0);

/**
 *
 * How the GPS coordinates are displayed on the OLED screen.
 *
 * @generated from enum meshtastic.DeviceUIConfig.GpsCoordinateFormat
 */
export enum DeviceUIConfig_GpsCoordinateFormat {
  /**
   *
   * GPS coordinates are displayed in the normal decimal degrees format:
   * DD.DDDDDD DDD.DDDDDD
   *
   * @generated from enum value: DEC = 0;
   */
  DEC = 0,

  /**
   *
   * GPS coordinates are displayed in the degrees minutes seconds format:
   * DD°MM'SS"C DDD°MM'SS"C, where C is the compass point representing the locations quadrant
   *
   * @generated from enum value: DMS = 1;
   */
  DMS = 1,

  /**
   *
   * Universal Transverse Mercator format:
   * ZZB EEEEEE NNNNNNN, where Z is zone, B is band, E is easting, N is northing
   *
   * @generated from enum value: UTM = 2;
   */
  UTM = 2,

  /**
   *
   * Military Grid Reference System format:
   * ZZB CD EEEEE NNNNN, where Z is zone, B is band, C is the east 100k square, D is the north 100k square,
   * E is easting, N is northing
   *
   * @generated from enum value: MGRS = 3;
   */
  MGRS = 3,

  /**
   *
   * Open Location Code (aka Plus Codes).
   *
   * @generated from enum value: OLC = 4;
   */
  OLC = 4,

  /**
   *
   * Ordnance Survey Grid Reference (the National Grid System of the UK).
   * Format: AB EEEEE NNNNN, where A is the east 100k square, B is the north 100k square,
   * E is the easting, N is the northing
   *
   * @generated from enum value: OSGR = 5;
   */
  OSGR = 5,

  /**
   *
   * Maidenhead Locator System
   * Described here: https://en.wikipedia.org/wiki/Maidenhead_Locator_System
   *
   * @generated from enum value: MLS = 6;
   */
  MLS = 6,
}

/**
 * Describes the enum meshtastic.DeviceUIConfig.GpsCoordinateFormat.
 */
export const DeviceUIConfig_GpsCoordinateFormatSchema: GenEnum<DeviceUIConfig_GpsCoordinateFormat> = /*@__PURE__*/
  enumDesc(file_meshtastic_device_ui, 0, 0);

/**
 * @generated from message meshtastic.NodeFilter
 */
export type NodeFilter = Message<"meshtastic.NodeFilter"> & {
  /**
   *
   * Filter unknown nodes
   *
   * @generated from field: bool unknown_switch = 1;
   */
  unknownSwitch: boolean;

  /**
   *
   * Filter offline nodes
   *
   * @generated from field: bool offline_switch = 2;
   */
  offlineSwitch: boolean;

  /**
   *
   * Filter nodes w/o public key
   *
   * @generated from field: bool public_key_switch = 3;
   */
  publicKeySwitch: boolean;

  /**
   *
   * Filter based on hops away
   *
   * @generated from field: int32 hops_away = 4;
   */
  hopsAway: number;

  /**
   *
   * Filter nodes w/o position
   *
   * @generated from field: bool position_switch = 5;
   */
  positionSwitch: boolean;

  /**
   *
   * Filter nodes by matching name string
   *
   * @generated from field: string node_name = 6;
   */
  nodeName: string;

  /**
   *
   * Filter based on channel
   *
   * @generated from field: int32 channel = 7;
   */
  channel: number;
};

/**
 * Describes the message meshtastic.NodeFilter.
 * Use `create(NodeFilterSchema)` to create a new message.
 */
export const NodeFilterSchema: GenMessage<NodeFilter> = /*@__PURE__*/
  messageDesc(file_meshtastic_device_ui, 1);

/**
 * @generated from message meshtastic.NodeHighlight
 */
export type NodeHighlight = Message<"meshtastic.NodeHighlight"> & {
  /**
   *
   * Hightlight nodes w/ active chat
   *
   * @generated from field: bool chat_switch = 1;
   */
  chatSwitch: boolean;

  /**
   *
   * Highlight nodes w/ position
   *
   * @generated from field: bool position_switch = 2;
   */
  positionSwitch: boolean;

  /**
   *
   * Highlight nodes w/ telemetry data
   *
   * @generated from field: bool telemetry_switch = 3;
   */
  telemetrySwitch: boolean;

  /**
   *
   * Highlight nodes w/ iaq data
   *
   * @generated from field: bool iaq_switch = 4;
   */
  iaqSwitch: boolean;

  /**
   *
   * Highlight nodes by matching name string
   *
   * @generated from field: string node_name = 5;
   */
  nodeName: string;
};

/**
 * Describes the message meshtastic.NodeHighlight.
 * Use `create(NodeHighlightSchema)` to create a new message.
 */
export const NodeHighlightSchema: GenMessage<NodeHighlight> = /*@__PURE__*/
  messageDesc(file_meshtastic_device_ui, 2);

/**
 * @generated from message meshtastic.GeoPoint
 */
export type GeoPoint = Message<"meshtastic.GeoPoint"> & {
  /**
   *
   * Zoom level
   *
   * @generated from field: int32 zoom = 1;
   */
  zoom: number;

  /**
   *
   * Coordinate: latitude
   *
   * @generated from field: int32 latitude = 2;
   */
  latitude: number;

  /**
   *
   * Coordinate: longitude
   *
   * @generated from field: int32 longitude = 3;
   */
  longitude: number;
};

/**
 * Describes the message meshtastic.GeoPoint.
 * Use `create(GeoPointSchema)` to create a new message.
 */
export const GeoPointSchema: GenMessage<GeoPoint> = /*@__PURE__*/
  messageDesc(file_meshtastic_device_ui, 3);

/**
 * @generated from message meshtastic.Map
 */
export type Map = Message<"meshtastic.Map"> & {
  /**
   *
   * Home coordinates
   *
   * @generated from field: meshtastic.GeoPoint home = 1;
   */
  home?: GeoPoint | undefined;

  /**
   *
   * Map tile style
   *
   * @generated from field: string style = 2;
   */
  style: string;

  /**
   *
   * Map scroll follows GPS
   *
   * @generated from field: bool follow_gps = 3;
   */
  followGps: boolean;
};

/**
 * Describes the message meshtastic.Map.
 * Use `create(MapSchema)` to create a new message.
 */
export const MapSchema: GenMessage<Map> = /*@__PURE__*/
  messageDesc(file_meshtastic_device_ui, 4);

/**
 * @generated from enum meshtastic.CompassMode
 */
export enum CompassMode {
  /**
   *
   * Compass with dynamic ring and heading
   *
   * @generated from enum value: DYNAMIC = 0;
   */
  DYNAMIC = 0,

  /**
   *
   * Compass with fixed ring and heading
   *
   * @generated from enum value: FIXED_RING = 1;
   */
  FIXED_RING = 1,

  /**
   *
   * Compass with heading and freeze option
   *
   * @generated from enum value: FREEZE_HEADING = 2;
   */
  FREEZE_HEADING = 2,
}

/**
 * Describes the enum meshtastic.CompassMode.
 */
export const CompassModeSchema: GenEnum<CompassMode> = /*@__PURE__*/
  enumDesc(file_meshtastic_device_ui, 0);

/**
 * @generated from enum meshtastic.Theme
 */
export enum Theme {
  /**
   *
   * Dark
   *
   * @generated from enum value: DARK = 0;
   */
  DARK = 0,

  /**
   *
   * Light
   *
   * @generated from enum value: LIGHT = 1;
   */
  LIGHT = 1,

  /**
   *
   * Red
   *
   * @generated from enum value: RED = 2;
   */
  RED = 2,
}

/**
 * Describes the enum meshtastic.Theme.
 */
export const ThemeSchema: GenEnum<Theme> = /*@__PURE__*/
  enumDesc(file_meshtastic_device_ui, 1);

/**
 *
 * Localization
 *
 * @generated from enum meshtastic.Language
 */
export enum Language {
  /**
   *
   * English
   *
   * @generated from enum value: ENGLISH = 0;
   */
  ENGLISH = 0,

  /**
   *
   * French
   *
   * @generated from enum value: FRENCH = 1;
   */
  FRENCH = 1,

  /**
   *
   * German
   *
   * @generated from enum value: GERMAN = 2;
   */
  GERMAN = 2,

  /**
   *
   * Italian
   *
   * @generated from enum value: ITALIAN = 3;
   */
  ITALIAN = 3,

  /**
   *
   * Portuguese
   *
   * @generated from enum value: PORTUGUESE = 4;
   */
  PORTUGUESE = 4,

  /**
   *
   * Spanish
   *
   * @generated from enum value: SPANISH = 5;
   */
  SPANISH = 5,

  /**
   *
   * Swedish
   *
   * @generated from enum value: SWEDISH = 6;
   */
  SWEDISH = 6,

  /**
   *
   * Finnish
   *
   * @generated from enum value: FINNISH = 7;
   */
  FINNISH = 7,

  /**
   *
   * Polish
   *
   * @generated from enum value: POLISH = 8;
   */
  POLISH = 8,

  /**
   *
   * Turkish
   *
   * @generated from enum value: TURKISH = 9;
   */
  TURKISH = 9,

  /**
   *
   * Serbian
   *
   * @generated from enum value: SERBIAN = 10;
   */
  SERBIAN = 10,

  /**
   *
   * Russian
   *
   * @generated from enum value: RUSSIAN = 11;
   */
  RUSSIAN = 11,

  /**
   *
   * Dutch
   *
   * @generated from enum value: DUTCH = 12;
   */
  DUTCH = 12,

  /**
   *
   * Greek
   *
   * @generated from enum value: GREEK = 13;
   */
  GREEK = 13,

  /**
   *
   * Norwegian
   *
   * @generated from enum value: NORWEGIAN = 14;
   */
  NORWEGIAN = 14,

  /**
   *
   * Slovenian
   *
   * @generated from enum value: SLOVENIAN = 15;
   */
  SLOVENIAN = 15,

  /**
   *
   * Ukrainian
   *
   * @generated from enum value: UKRAINIAN = 16;
   */
  UKRAINIAN = 16,

  /**
   *
   * Bulgarian
   *
   * @generated from enum value: BULGARIAN = 17;
   */
  BULGARIAN = 17,

  /**
   *
   * Czech
   *
   * @generated from enum value: CZECH = 18;
   */
  CZECH = 18,

  /**
   *
   * Danish
   *
   * @generated from enum value: DANISH = 19;
   */
  DANISH = 19,

  /**
   *
   * Simplified Chinese (experimental)
   *
   * @generated from enum value: SIMPLIFIED_CHINESE = 30;
   */
  SIMPLIFIED_CHINESE = 30,

  /**
   *
   * Traditional Chinese (experimental)
   *
   * @generated from enum value: TRADITIONAL_CHINESE = 31;
   */
  TRADITIONAL_CHINESE = 31,
}

/**
 * Describes the enum meshtastic.Language.
 */
export const LanguageSchema: GenEnum<Language> = /*@__PURE__*/
  enumDesc(file_meshtastic_device_ui, 2);

