// @generated by protoc-gen-es v1.10.0 with parameter "target=ts"
// @generated from file resource.proto (package api, syntax proto3)
/* eslint-disable */
// @ts-nocheck

import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf";
import { Message, proto3 } from "@bufbuild/protobuf";
import { ResourceType } from "./shared_pb.js";

/**
 * @generated from message api.Resource
 */
export class Resource extends Message<Resource> {
  /**
   * @generated from field: string ID = 1;
   */
  ID = "";

  /**
   * @generated from field: api.ResourceType Type = 2;
   */
  Type = ResourceType.UNKNOWN;

  /**
   * @generated from field: string ParentID = 3;
   */
  ParentID = "";

  constructor(data?: PartialMessage<Resource>) {
    super();
    proto3.util.initPartial(data, this);
  }

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.Resource";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "ID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "Type", kind: "enum", T: proto3.getEnumType(ResourceType) },
    { no: 3, name: "ParentID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ]);

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): Resource {
    return new Resource().fromBinary(bytes, options);
  }

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): Resource {
    return new Resource().fromJson(jsonValue, options);
  }

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): Resource {
    return new Resource().fromJsonString(jsonString, options);
  }

  static equals(a: Resource | PlainMessage<Resource> | undefined, b: Resource | PlainMessage<Resource> | undefined): boolean {
    return proto3.util.equals(Resource, a, b);
  }
}

/**
 * @generated from message api.CreateResourceRequest
 */
export class CreateResourceRequest extends Message<CreateResourceRequest> {
  /**
   * @generated from field: api.Resource Resource = 1;
   */
  Resource?: Resource;

  constructor(data?: PartialMessage<CreateResourceRequest>) {
    super();
    proto3.util.initPartial(data, this);
  }

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.CreateResourceRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Resource", kind: "message", T: Resource },
  ]);

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): CreateResourceRequest {
    return new CreateResourceRequest().fromBinary(bytes, options);
  }

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): CreateResourceRequest {
    return new CreateResourceRequest().fromJson(jsonValue, options);
  }

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): CreateResourceRequest {
    return new CreateResourceRequest().fromJsonString(jsonString, options);
  }

  static equals(a: CreateResourceRequest | PlainMessage<CreateResourceRequest> | undefined, b: CreateResourceRequest | PlainMessage<CreateResourceRequest> | undefined): boolean {
    return proto3.util.equals(CreateResourceRequest, a, b);
  }
}

/**
 * @generated from message api.CreateResourceResponse
 */
export class CreateResourceResponse extends Message<CreateResourceResponse> {
  /**
   * @generated from field: api.Resource Resource = 1;
   */
  Resource?: Resource;

  constructor(data?: PartialMessage<CreateResourceResponse>) {
    super();
    proto3.util.initPartial(data, this);
  }

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.CreateResourceResponse";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Resource", kind: "message", T: Resource },
  ]);

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): CreateResourceResponse {
    return new CreateResourceResponse().fromBinary(bytes, options);
  }

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): CreateResourceResponse {
    return new CreateResourceResponse().fromJson(jsonValue, options);
  }

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): CreateResourceResponse {
    return new CreateResourceResponse().fromJsonString(jsonString, options);
  }

  static equals(a: CreateResourceResponse | PlainMessage<CreateResourceResponse> | undefined, b: CreateResourceResponse | PlainMessage<CreateResourceResponse> | undefined): boolean {
    return proto3.util.equals(CreateResourceResponse, a, b);
  }
}

/**
 * @generated from message api.DeleteResourceRequest
 */
export class DeleteResourceRequest extends Message<DeleteResourceRequest> {
  /**
   * @generated from field: string ID = 1;
   */
  ID = "";

  constructor(data?: PartialMessage<DeleteResourceRequest>) {
    super();
    proto3.util.initPartial(data, this);
  }

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.DeleteResourceRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "ID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ]);

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): DeleteResourceRequest {
    return new DeleteResourceRequest().fromBinary(bytes, options);
  }

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): DeleteResourceRequest {
    return new DeleteResourceRequest().fromJson(jsonValue, options);
  }

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): DeleteResourceRequest {
    return new DeleteResourceRequest().fromJsonString(jsonString, options);
  }

  static equals(a: DeleteResourceRequest | PlainMessage<DeleteResourceRequest> | undefined, b: DeleteResourceRequest | PlainMessage<DeleteResourceRequest> | undefined): boolean {
    return proto3.util.equals(DeleteResourceRequest, a, b);
  }
}

/**
 * @generated from message api.DeleteResourceResponse
 */
export class DeleteResourceResponse extends Message<DeleteResourceResponse> {
  constructor(data?: PartialMessage<DeleteResourceResponse>) {
    super();
    proto3.util.initPartial(data, this);
  }

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.DeleteResourceResponse";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
  ]);

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): DeleteResourceResponse {
    return new DeleteResourceResponse().fromBinary(bytes, options);
  }

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): DeleteResourceResponse {
    return new DeleteResourceResponse().fromJson(jsonValue, options);
  }

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): DeleteResourceResponse {
    return new DeleteResourceResponse().fromJsonString(jsonString, options);
  }

  static equals(a: DeleteResourceResponse | PlainMessage<DeleteResourceResponse> | undefined, b: DeleteResourceResponse | PlainMessage<DeleteResourceResponse> | undefined): boolean {
    return proto3.util.equals(DeleteResourceResponse, a, b);
  }
}

/**
 * @generated from message api.ListResourcesRequest
 */
export class ListResourcesRequest extends Message<ListResourcesRequest> {
  /**
   * @generated from field: api.ResourceType ResourceType = 1;
   */
  ResourceType = ResourceType.UNKNOWN;

  /**
   * @generated from field: string ParentID = 2;
   */
  ParentID = "";

  constructor(data?: PartialMessage<ListResourcesRequest>) {
    super();
    proto3.util.initPartial(data, this);
  }

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.ListResourcesRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "ResourceType", kind: "enum", T: proto3.getEnumType(ResourceType) },
    { no: 2, name: "ParentID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ]);

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ListResourcesRequest {
    return new ListResourcesRequest().fromBinary(bytes, options);
  }

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ListResourcesRequest {
    return new ListResourcesRequest().fromJson(jsonValue, options);
  }

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ListResourcesRequest {
    return new ListResourcesRequest().fromJsonString(jsonString, options);
  }

  static equals(a: ListResourcesRequest | PlainMessage<ListResourcesRequest> | undefined, b: ListResourcesRequest | PlainMessage<ListResourcesRequest> | undefined): boolean {
    return proto3.util.equals(ListResourcesRequest, a, b);
  }
}

/**
 * @generated from message api.ListResourcesResponse
 */
export class ListResourcesResponse extends Message<ListResourcesResponse> {
  /**
   * @generated from field: repeated api.Resource Resources = 1;
   */
  Resources: Resource[] = [];

  constructor(data?: PartialMessage<ListResourcesResponse>) {
    super();
    proto3.util.initPartial(data, this);
  }

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.ListResourcesResponse";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Resources", kind: "message", T: Resource, repeated: true },
  ]);

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ListResourcesResponse {
    return new ListResourcesResponse().fromBinary(bytes, options);
  }

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ListResourcesResponse {
    return new ListResourcesResponse().fromJson(jsonValue, options);
  }

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ListResourcesResponse {
    return new ListResourcesResponse().fromJsonString(jsonString, options);
  }

  static equals(a: ListResourcesResponse | PlainMessage<ListResourcesResponse> | undefined, b: ListResourcesResponse | PlainMessage<ListResourcesResponse> | undefined): boolean {
    return proto3.util.equals(ListResourcesResponse, a, b);
  }
}

/**
 * @generated from message api.CleanResourceRequest
 */
export class CleanResourceRequest extends Message<CleanResourceRequest> {
  /**
   * @generated from field: api.ResourceType ResourceType = 1;
   */
  ResourceType = ResourceType.UNKNOWN;

  /**
   * @generated from field: string ResourceID = 2;
   */
  ResourceID = "";

  constructor(data?: PartialMessage<CleanResourceRequest>) {
    super();
    proto3.util.initPartial(data, this);
  }

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.CleanResourceRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "ResourceType", kind: "enum", T: proto3.getEnumType(ResourceType) },
    { no: 2, name: "ResourceID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ]);

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): CleanResourceRequest {
    return new CleanResourceRequest().fromBinary(bytes, options);
  }

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): CleanResourceRequest {
    return new CleanResourceRequest().fromJson(jsonValue, options);
  }

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): CleanResourceRequest {
    return new CleanResourceRequest().fromJsonString(jsonString, options);
  }

  static equals(a: CleanResourceRequest | PlainMessage<CleanResourceRequest> | undefined, b: CleanResourceRequest | PlainMessage<CleanResourceRequest> | undefined): boolean {
    return proto3.util.equals(CleanResourceRequest, a, b);
  }
}

/**
 * @generated from message api.CleanResourceResult
 */
export class CleanResourceResult extends Message<CleanResourceResult> {
  constructor(data?: PartialMessage<CleanResourceResult>) {
    super();
    proto3.util.initPartial(data, this);
  }

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.CleanResourceResult";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
  ]);

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): CleanResourceResult {
    return new CleanResourceResult().fromBinary(bytes, options);
  }

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): CleanResourceResult {
    return new CleanResourceResult().fromJson(jsonValue, options);
  }

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): CleanResourceResult {
    return new CleanResourceResult().fromJsonString(jsonString, options);
  }

  static equals(a: CleanResourceResult | PlainMessage<CleanResourceResult> | undefined, b: CleanResourceResult | PlainMessage<CleanResourceResult> | undefined): boolean {
    return proto3.util.equals(CleanResourceResult, a, b);
  }
}

