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

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

/**
 * Describes the file filesystem/filesystem.proto.
 */
export const file_filesystem_filesystem: GenFile = /*@__PURE__*/
  fileDesc("ChtmaWxlc3lzdGVtL2ZpbGVzeXN0ZW0ucHJvdG8SCmZpbGVzeXN0ZW0iMgoLTW92ZVJlcXVlc3QSDgoGc291cmNlGAEgASgJEhMKC2Rlc3RpbmF0aW9uGAIgASgJIjQKDE1vdmVSZXNwb25zZRIkCgVlbnRyeRgBIAEoCzIVLmZpbGVzeXN0ZW0uRW50cnlJbmZvIh4KDk1ha2VEaXJSZXF1ZXN0EgwKBHBhdGgYASABKAkiNwoPTWFrZURpclJlc3BvbnNlEiQKBWVudHJ5GAEgASgLMhUuZmlsZXN5c3RlbS5FbnRyeUluZm8iHQoNUmVtb3ZlUmVxdWVzdBIMCgRwYXRoGAEgASgJIhAKDlJlbW92ZVJlc3BvbnNlIhsKC1N0YXRSZXF1ZXN0EgwKBHBhdGgYASABKAkiNAoMU3RhdFJlc3BvbnNlEiQKBWVudHJ5GAEgASgLMhUuZmlsZXN5c3RlbS5FbnRyeUluZm8iSwoJRW50cnlJbmZvEgwKBG5hbWUYASABKAkSIgoEdHlwZRgCIAEoDjIULmZpbGVzeXN0ZW0uRmlsZVR5cGUSDAoEcGF0aBgDIAEoCSIeCg5MaXN0RGlyUmVxdWVzdBIMCgRwYXRoGAEgASgJIjkKD0xpc3REaXJSZXNwb25zZRImCgdlbnRyaWVzGAEgAygLMhUuZmlsZXN5c3RlbS5FbnRyeUluZm8iHwoPV2F0Y2hEaXJSZXF1ZXN0EgwKBHBhdGgYASABKAkiRAoPRmlsZXN5c3RlbUV2ZW50EgwKBG5hbWUYASABKAkSIwoEdHlwZRgCIAEoDjIVLmZpbGVzeXN0ZW0uRXZlbnRUeXBlIuABChBXYXRjaERpclJlc3BvbnNlEjgKBXN0YXJ0GAEgASgLMicuZmlsZXN5c3RlbS5XYXRjaERpclJlc3BvbnNlLlN0YXJ0RXZlbnRIABIxCgpmaWxlc3lzdGVtGAIgASgLMhsuZmlsZXN5c3RlbS5GaWxlc3lzdGVtRXZlbnRIABI7CglrZWVwYWxpdmUYAyABKAsyJi5maWxlc3lzdGVtLldhdGNoRGlyUmVzcG9uc2UuS2VlcEFsaXZlSAAaDAoKU3RhcnRFdmVudBoLCglLZWVwQWxpdmVCBwoFZXZlbnQiJAoUQ3JlYXRlV2F0Y2hlclJlcXVlc3QSDAoEcGF0aBgBIAEoCSIrChVDcmVhdGVXYXRjaGVyUmVzcG9uc2USEgoKd2F0Y2hlcl9pZBgBIAEoCSItChdHZXRXYXRjaGVyRXZlbnRzUmVxdWVzdBISCgp3YXRjaGVyX2lkGAEgASgJIkcKGEdldFdhdGNoZXJFdmVudHNSZXNwb25zZRIrCgZldmVudHMYASADKAsyGy5maWxlc3lzdGVtLkZpbGVzeXN0ZW1FdmVudCIqChRSZW1vdmVXYXRjaGVyUmVxdWVzdBISCgp3YXRjaGVyX2lkGAEgASgJIhcKFVJlbW92ZVdhdGNoZXJSZXNwb25zZSpSCghGaWxlVHlwZRIZChVGSUxFX1RZUEVfVU5TUEVDSUZJRUQQABISCg5GSUxFX1RZUEVfRklMRRABEhcKE0ZJTEVfVFlQRV9ESVJFQ1RPUlkQAiqYAQoJRXZlbnRUeXBlEhoKFkVWRU5UX1RZUEVfVU5TUEVDSUZJRUQQABIVChFFVkVOVF9UWVBFX0NSRUFURRABEhQKEEVWRU5UX1RZUEVfV1JJVEUQAhIVChFFVkVOVF9UWVBFX1JFTU9WRRADEhUKEUVWRU5UX1RZUEVfUkVOQU1FEAQSFAoQRVZFTlRfVFlQRV9DSE1PRBAFMp8FCgpGaWxlc3lzdGVtEjkKBFN0YXQSFy5maWxlc3lzdGVtLlN0YXRSZXF1ZXN0GhguZmlsZXN5c3RlbS5TdGF0UmVzcG9uc2USQgoHTWFrZURpchIaLmZpbGVzeXN0ZW0uTWFrZURpclJlcXVlc3QaGy5maWxlc3lzdGVtLk1ha2VEaXJSZXNwb25zZRI5CgRNb3ZlEhcuZmlsZXN5c3RlbS5Nb3ZlUmVxdWVzdBoYLmZpbGVzeXN0ZW0uTW92ZVJlc3BvbnNlEkIKB0xpc3REaXISGi5maWxlc3lzdGVtLkxpc3REaXJSZXF1ZXN0GhsuZmlsZXN5c3RlbS5MaXN0RGlyUmVzcG9uc2USPwoGUmVtb3ZlEhkuZmlsZXN5c3RlbS5SZW1vdmVSZXF1ZXN0GhouZmlsZXN5c3RlbS5SZW1vdmVSZXNwb25zZRJHCghXYXRjaERpchIbLmZpbGVzeXN0ZW0uV2F0Y2hEaXJSZXF1ZXN0GhwuZmlsZXN5c3RlbS5XYXRjaERpclJlc3BvbnNlMAESVAoNQ3JlYXRlV2F0Y2hlchIgLmZpbGVzeXN0ZW0uQ3JlYXRlV2F0Y2hlclJlcXVlc3QaIS5maWxlc3lzdGVtLkNyZWF0ZVdhdGNoZXJSZXNwb25zZRJdChBHZXRXYXRjaGVyRXZlbnRzEiMuZmlsZXN5c3RlbS5HZXRXYXRjaGVyRXZlbnRzUmVxdWVzdBokLmZpbGVzeXN0ZW0uR2V0V2F0Y2hlckV2ZW50c1Jlc3BvbnNlElQKDVJlbW92ZVdhdGNoZXISIC5maWxlc3lzdGVtLlJlbW92ZVdhdGNoZXJSZXF1ZXN0GiEuZmlsZXN5c3RlbS5SZW1vdmVXYXRjaGVyUmVzcG9uc2VCaQoOY29tLmZpbGVzeXN0ZW1CD0ZpbGVzeXN0ZW1Qcm90b1ABogIDRlhYqgIKRmlsZXN5c3RlbcoCCkZpbGVzeXN0ZW3iAhZGaWxlc3lzdGVtXEdQQk1ldGFkYXRh6gIKRmlsZXN5c3RlbWIGcHJvdG8z");

/**
 * @generated from message filesystem.MoveRequest
 */
export type MoveRequest = Message<"filesystem.MoveRequest"> & {
  /**
   * @generated from field: string source = 1;
   */
  source: string;

  /**
   * @generated from field: string destination = 2;
   */
  destination: string;
};

/**
 * Describes the message filesystem.MoveRequest.
 * Use `create(MoveRequestSchema)` to create a new message.
 */
export const MoveRequestSchema: GenMessage<MoveRequest> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 0);

/**
 * @generated from message filesystem.MoveResponse
 */
export type MoveResponse = Message<"filesystem.MoveResponse"> & {
  /**
   * @generated from field: filesystem.EntryInfo entry = 1;
   */
  entry?: EntryInfo;
};

/**
 * Describes the message filesystem.MoveResponse.
 * Use `create(MoveResponseSchema)` to create a new message.
 */
export const MoveResponseSchema: GenMessage<MoveResponse> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 1);

/**
 * @generated from message filesystem.MakeDirRequest
 */
export type MakeDirRequest = Message<"filesystem.MakeDirRequest"> & {
  /**
   * @generated from field: string path = 1;
   */
  path: string;
};

/**
 * Describes the message filesystem.MakeDirRequest.
 * Use `create(MakeDirRequestSchema)` to create a new message.
 */
export const MakeDirRequestSchema: GenMessage<MakeDirRequest> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 2);

/**
 * @generated from message filesystem.MakeDirResponse
 */
export type MakeDirResponse = Message<"filesystem.MakeDirResponse"> & {
  /**
   * @generated from field: filesystem.EntryInfo entry = 1;
   */
  entry?: EntryInfo;
};

/**
 * Describes the message filesystem.MakeDirResponse.
 * Use `create(MakeDirResponseSchema)` to create a new message.
 */
export const MakeDirResponseSchema: GenMessage<MakeDirResponse> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 3);

/**
 * @generated from message filesystem.RemoveRequest
 */
export type RemoveRequest = Message<"filesystem.RemoveRequest"> & {
  /**
   * @generated from field: string path = 1;
   */
  path: string;
};

/**
 * Describes the message filesystem.RemoveRequest.
 * Use `create(RemoveRequestSchema)` to create a new message.
 */
export const RemoveRequestSchema: GenMessage<RemoveRequest> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 4);

/**
 * @generated from message filesystem.RemoveResponse
 */
export type RemoveResponse = Message<"filesystem.RemoveResponse"> & {
};

/**
 * Describes the message filesystem.RemoveResponse.
 * Use `create(RemoveResponseSchema)` to create a new message.
 */
export const RemoveResponseSchema: GenMessage<RemoveResponse> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 5);

/**
 * @generated from message filesystem.StatRequest
 */
export type StatRequest = Message<"filesystem.StatRequest"> & {
  /**
   * @generated from field: string path = 1;
   */
  path: string;
};

/**
 * Describes the message filesystem.StatRequest.
 * Use `create(StatRequestSchema)` to create a new message.
 */
export const StatRequestSchema: GenMessage<StatRequest> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 6);

/**
 * @generated from message filesystem.StatResponse
 */
export type StatResponse = Message<"filesystem.StatResponse"> & {
  /**
   * @generated from field: filesystem.EntryInfo entry = 1;
   */
  entry?: EntryInfo;
};

/**
 * Describes the message filesystem.StatResponse.
 * Use `create(StatResponseSchema)` to create a new message.
 */
export const StatResponseSchema: GenMessage<StatResponse> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 7);

/**
 * @generated from message filesystem.EntryInfo
 */
export type EntryInfo = Message<"filesystem.EntryInfo"> & {
  /**
   * @generated from field: string name = 1;
   */
  name: string;

  /**
   * @generated from field: filesystem.FileType type = 2;
   */
  type: FileType;

  /**
   * @generated from field: string path = 3;
   */
  path: string;
};

/**
 * Describes the message filesystem.EntryInfo.
 * Use `create(EntryInfoSchema)` to create a new message.
 */
export const EntryInfoSchema: GenMessage<EntryInfo> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 8);

/**
 * @generated from message filesystem.ListDirRequest
 */
export type ListDirRequest = Message<"filesystem.ListDirRequest"> & {
  /**
   * @generated from field: string path = 1;
   */
  path: string;
};

/**
 * Describes the message filesystem.ListDirRequest.
 * Use `create(ListDirRequestSchema)` to create a new message.
 */
export const ListDirRequestSchema: GenMessage<ListDirRequest> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 9);

/**
 * @generated from message filesystem.ListDirResponse
 */
export type ListDirResponse = Message<"filesystem.ListDirResponse"> & {
  /**
   * @generated from field: repeated filesystem.EntryInfo entries = 1;
   */
  entries: EntryInfo[];
};

/**
 * Describes the message filesystem.ListDirResponse.
 * Use `create(ListDirResponseSchema)` to create a new message.
 */
export const ListDirResponseSchema: GenMessage<ListDirResponse> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 10);

/**
 * @generated from message filesystem.WatchDirRequest
 */
export type WatchDirRequest = Message<"filesystem.WatchDirRequest"> & {
  /**
   * @generated from field: string path = 1;
   */
  path: string;
};

/**
 * Describes the message filesystem.WatchDirRequest.
 * Use `create(WatchDirRequestSchema)` to create a new message.
 */
export const WatchDirRequestSchema: GenMessage<WatchDirRequest> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 11);

/**
 * @generated from message filesystem.FilesystemEvent
 */
export type FilesystemEvent = Message<"filesystem.FilesystemEvent"> & {
  /**
   * @generated from field: string name = 1;
   */
  name: string;

  /**
   * @generated from field: filesystem.EventType type = 2;
   */
  type: EventType;
};

/**
 * Describes the message filesystem.FilesystemEvent.
 * Use `create(FilesystemEventSchema)` to create a new message.
 */
export const FilesystemEventSchema: GenMessage<FilesystemEvent> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 12);

/**
 * @generated from message filesystem.WatchDirResponse
 */
export type WatchDirResponse = Message<"filesystem.WatchDirResponse"> & {
  /**
   * @generated from oneof filesystem.WatchDirResponse.event
   */
  event: {
    /**
     * @generated from field: filesystem.WatchDirResponse.StartEvent start = 1;
     */
    value: WatchDirResponse_StartEvent;
    case: "start";
  } | {
    /**
     * @generated from field: filesystem.FilesystemEvent filesystem = 2;
     */
    value: FilesystemEvent;
    case: "filesystem";
  } | {
    /**
     * @generated from field: filesystem.WatchDirResponse.KeepAlive keepalive = 3;
     */
    value: WatchDirResponse_KeepAlive;
    case: "keepalive";
  } | { case: undefined; value?: undefined };
};

/**
 * Describes the message filesystem.WatchDirResponse.
 * Use `create(WatchDirResponseSchema)` to create a new message.
 */
export const WatchDirResponseSchema: GenMessage<WatchDirResponse> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 13);

/**
 * @generated from message filesystem.WatchDirResponse.StartEvent
 */
export type WatchDirResponse_StartEvent = Message<"filesystem.WatchDirResponse.StartEvent"> & {
};

/**
 * Describes the message filesystem.WatchDirResponse.StartEvent.
 * Use `create(WatchDirResponse_StartEventSchema)` to create a new message.
 */
export const WatchDirResponse_StartEventSchema: GenMessage<WatchDirResponse_StartEvent> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 13, 0);

/**
 * @generated from message filesystem.WatchDirResponse.KeepAlive
 */
export type WatchDirResponse_KeepAlive = Message<"filesystem.WatchDirResponse.KeepAlive"> & {
};

/**
 * Describes the message filesystem.WatchDirResponse.KeepAlive.
 * Use `create(WatchDirResponse_KeepAliveSchema)` to create a new message.
 */
export const WatchDirResponse_KeepAliveSchema: GenMessage<WatchDirResponse_KeepAlive> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 13, 1);

/**
 * @generated from message filesystem.CreateWatcherRequest
 */
export type CreateWatcherRequest = Message<"filesystem.CreateWatcherRequest"> & {
  /**
   * @generated from field: string path = 1;
   */
  path: string;
};

/**
 * Describes the message filesystem.CreateWatcherRequest.
 * Use `create(CreateWatcherRequestSchema)` to create a new message.
 */
export const CreateWatcherRequestSchema: GenMessage<CreateWatcherRequest> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 14);

/**
 * @generated from message filesystem.CreateWatcherResponse
 */
export type CreateWatcherResponse = Message<"filesystem.CreateWatcherResponse"> & {
  /**
   * @generated from field: string watcher_id = 1;
   */
  watcherId: string;
};

/**
 * Describes the message filesystem.CreateWatcherResponse.
 * Use `create(CreateWatcherResponseSchema)` to create a new message.
 */
export const CreateWatcherResponseSchema: GenMessage<CreateWatcherResponse> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 15);

/**
 * @generated from message filesystem.GetWatcherEventsRequest
 */
export type GetWatcherEventsRequest = Message<"filesystem.GetWatcherEventsRequest"> & {
  /**
   * @generated from field: string watcher_id = 1;
   */
  watcherId: string;
};

/**
 * Describes the message filesystem.GetWatcherEventsRequest.
 * Use `create(GetWatcherEventsRequestSchema)` to create a new message.
 */
export const GetWatcherEventsRequestSchema: GenMessage<GetWatcherEventsRequest> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 16);

/**
 * @generated from message filesystem.GetWatcherEventsResponse
 */
export type GetWatcherEventsResponse = Message<"filesystem.GetWatcherEventsResponse"> & {
  /**
   * @generated from field: repeated filesystem.FilesystemEvent events = 1;
   */
  events: FilesystemEvent[];
};

/**
 * Describes the message filesystem.GetWatcherEventsResponse.
 * Use `create(GetWatcherEventsResponseSchema)` to create a new message.
 */
export const GetWatcherEventsResponseSchema: GenMessage<GetWatcherEventsResponse> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 17);

/**
 * @generated from message filesystem.RemoveWatcherRequest
 */
export type RemoveWatcherRequest = Message<"filesystem.RemoveWatcherRequest"> & {
  /**
   * @generated from field: string watcher_id = 1;
   */
  watcherId: string;
};

/**
 * Describes the message filesystem.RemoveWatcherRequest.
 * Use `create(RemoveWatcherRequestSchema)` to create a new message.
 */
export const RemoveWatcherRequestSchema: GenMessage<RemoveWatcherRequest> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 18);

/**
 * @generated from message filesystem.RemoveWatcherResponse
 */
export type RemoveWatcherResponse = Message<"filesystem.RemoveWatcherResponse"> & {
};

/**
 * Describes the message filesystem.RemoveWatcherResponse.
 * Use `create(RemoveWatcherResponseSchema)` to create a new message.
 */
export const RemoveWatcherResponseSchema: GenMessage<RemoveWatcherResponse> = /*@__PURE__*/
  messageDesc(file_filesystem_filesystem, 19);

/**
 * @generated from enum filesystem.FileType
 */
export enum FileType {
  /**
   * @generated from enum value: FILE_TYPE_UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * @generated from enum value: FILE_TYPE_FILE = 1;
   */
  FILE = 1,

  /**
   * @generated from enum value: FILE_TYPE_DIRECTORY = 2;
   */
  DIRECTORY = 2,
}

/**
 * Describes the enum filesystem.FileType.
 */
export const FileTypeSchema: GenEnum<FileType> = /*@__PURE__*/
  enumDesc(file_filesystem_filesystem, 0);

/**
 * @generated from enum filesystem.EventType
 */
export enum EventType {
  /**
   * @generated from enum value: EVENT_TYPE_UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * @generated from enum value: EVENT_TYPE_CREATE = 1;
   */
  CREATE = 1,

  /**
   * @generated from enum value: EVENT_TYPE_WRITE = 2;
   */
  WRITE = 2,

  /**
   * @generated from enum value: EVENT_TYPE_REMOVE = 3;
   */
  REMOVE = 3,

  /**
   * @generated from enum value: EVENT_TYPE_RENAME = 4;
   */
  RENAME = 4,

  /**
   * @generated from enum value: EVENT_TYPE_CHMOD = 5;
   */
  CHMOD = 5,
}

/**
 * Describes the enum filesystem.EventType.
 */
export const EventTypeSchema: GenEnum<EventType> = /*@__PURE__*/
  enumDesc(file_filesystem_filesystem, 1);

/**
 * @generated from service filesystem.Filesystem
 */
export const Filesystem: GenService<{
  /**
   * @generated from rpc filesystem.Filesystem.Stat
   */
  stat: {
    methodKind: "unary";
    input: typeof StatRequestSchema;
    output: typeof StatResponseSchema;
  },
  /**
   * @generated from rpc filesystem.Filesystem.MakeDir
   */
  makeDir: {
    methodKind: "unary";
    input: typeof MakeDirRequestSchema;
    output: typeof MakeDirResponseSchema;
  },
  /**
   * @generated from rpc filesystem.Filesystem.Move
   */
  move: {
    methodKind: "unary";
    input: typeof MoveRequestSchema;
    output: typeof MoveResponseSchema;
  },
  /**
   * @generated from rpc filesystem.Filesystem.ListDir
   */
  listDir: {
    methodKind: "unary";
    input: typeof ListDirRequestSchema;
    output: typeof ListDirResponseSchema;
  },
  /**
   * @generated from rpc filesystem.Filesystem.Remove
   */
  remove: {
    methodKind: "unary";
    input: typeof RemoveRequestSchema;
    output: typeof RemoveResponseSchema;
  },
  /**
   * @generated from rpc filesystem.Filesystem.WatchDir
   */
  watchDir: {
    methodKind: "server_streaming";
    input: typeof WatchDirRequestSchema;
    output: typeof WatchDirResponseSchema;
  },
  /**
   * Non-streaming versions of WatchDir
   *
   * @generated from rpc filesystem.Filesystem.CreateWatcher
   */
  createWatcher: {
    methodKind: "unary";
    input: typeof CreateWatcherRequestSchema;
    output: typeof CreateWatcherResponseSchema;
  },
  /**
   * @generated from rpc filesystem.Filesystem.GetWatcherEvents
   */
  getWatcherEvents: {
    methodKind: "unary";
    input: typeof GetWatcherEventsRequestSchema;
    output: typeof GetWatcherEventsResponseSchema;
  },
  /**
   * @generated from rpc filesystem.Filesystem.RemoveWatcher
   */
  removeWatcher: {
    methodKind: "unary";
    input: typeof RemoveWatcherRequestSchema;
    output: typeof RemoveWatcherResponseSchema;
  },
}> = /*@__PURE__*/
  serviceDesc(file_filesystem_filesystem, 0);

