// @generated by protoc-gen-es v1.10.0 with parameter "target=ts"
// @generated from file restrictionLinks.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 { Restriction } from "./restrictions_pb.js";
import { RequestProjectHeader } from "./shared_pb.js";

/**
 * ========== MODEL MESSAGES ==========
 *
 * @generated from message api.RestrictionLink
 */
export class RestrictionLink extends Message<RestrictionLink> {
  /**
   * @generated from field: string ProjectID = 1;
   */
  ProjectID = "";

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

  /**
   * @generated from field: string TargetID = 4;
   */
  TargetID = "";

  /**
   * @generated from field: api.Restriction Restriction = 6;
   */
  Restriction?: Restriction;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.RestrictionLink";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "ProjectID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "RestrictionID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 4, name: "TargetID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 6, name: "Restriction", kind: "message", T: Restriction },
  ]);

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

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

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

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

/**
 * Create
 *
 * @generated from message api.CreateRestrictionLinkRequest
 */
export class CreateRestrictionLinkRequest extends Message<CreateRestrictionLinkRequest> {
  /**
   * @generated from field: api.RequestProjectHeader Header = 1;
   */
  Header?: RequestProjectHeader;

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

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

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.CreateRestrictionLinkRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Header", kind: "message", T: RequestProjectHeader },
    { no: 2, name: "RestrictionID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "TargetID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ]);

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

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

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

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

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

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

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

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

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

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

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

/**
 * Update
 *
 * @generated from message api.UpdateRestrictionLinkRequest
 */
export class UpdateRestrictionLinkRequest extends Message<UpdateRestrictionLinkRequest> {
  /**
   * @generated from field: api.RequestProjectHeader Header = 1;
   */
  Header?: RequestProjectHeader;

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

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

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.UpdateRestrictionLinkRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Header", kind: "message", T: RequestProjectHeader },
    { no: 2, name: "RestrictionID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "TargetID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ]);

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

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

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

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

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

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

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

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

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

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

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

/**
 * Delete
 *
 * @generated from message api.DeleteRestrictionLinkRequest
 */
export class DeleteRestrictionLinkRequest extends Message<DeleteRestrictionLinkRequest> {
  /**
   * @generated from field: api.RequestProjectHeader Header = 1;
   */
  Header?: RequestProjectHeader;

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

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

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.DeleteRestrictionLinkRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Header", kind: "message", T: RequestProjectHeader },
    { no: 2, name: "RestrictionID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "TargetID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ]);

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

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

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

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

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

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

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

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

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

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

/**
 * Get
 *
 * @generated from message api.GetRestrictionLinkRequest
 */
export class GetRestrictionLinkRequest extends Message<GetRestrictionLinkRequest> {
  /**
   * @generated from field: api.RequestProjectHeader Header = 1;
   */
  Header?: RequestProjectHeader;

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

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

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.GetRestrictionLinkRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Header", kind: "message", T: RequestProjectHeader },
    { no: 2, name: "RestrictionID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "TargetID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ]);

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

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

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

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

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

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

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

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

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

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

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

/**
 * List
 *
 * @generated from message api.ListRestrictionLinksRequest
 */
export class ListRestrictionLinksRequest extends Message<ListRestrictionLinksRequest> {
  /**
   * @generated from field: api.RequestProjectHeader Header = 1;
   */
  Header?: RequestProjectHeader;

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

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

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.ListRestrictionLinksRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Header", kind: "message", T: RequestProjectHeader },
    { no: 2, name: "RestrictionID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "TargetID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ]);

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

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

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

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

/**
 * @generated from message api.ListRestrictionLinksResponse
 */
export class ListRestrictionLinksResponse extends Message<ListRestrictionLinksResponse> {
  /**
   * @generated from field: repeated api.RestrictionLink RestrictionLinks = 1;
   */
  RestrictionLinks: RestrictionLink[] = [];

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

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

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

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

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

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

/**
 * SetUserActors
 *
 * @generated from message api.SetUserActorsRequest
 */
export class SetUserActorsRequest extends Message<SetUserActorsRequest> {
  /**
   * @generated from field: api.RequestProjectHeader Header = 1;
   */
  Header?: RequestProjectHeader;

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

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

  /**
   * If empty, it will remove all user actors for this restriction ID and User ID
   *
   * @generated from field: repeated string UserActorIDs = 4;
   */
  UserActorIDs: string[] = [];

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.SetUserActorsRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Header", kind: "message", T: RequestProjectHeader },
    { no: 2, name: "RestrictionID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "UserID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 4, name: "UserActorIDs", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
  ]);

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

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

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

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

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

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

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

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

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

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

/**
 * DeleteForProject
 *
 * @generated from message api.DeleteForProjectRestrictionLinkRequest
 */
export class DeleteForProjectRestrictionLinkRequest extends Message<DeleteForProjectRestrictionLinkRequest> {
  /**
   * @generated from field: api.RequestProjectHeader Header = 1;
   */
  Header?: RequestProjectHeader;

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

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

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

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

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

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

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

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

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

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

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

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

