// @generated by protobuf-ts 2.9.6
// @generated from protobuf file "attachmentType.proto" (package "api", syntax proto3)
// tslint:disable
import { ServiceType } from "@protobuf-ts/runtime-rpc";
import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
import type { IBinaryWriter } from "@protobuf-ts/runtime";
import { WireType } from "@protobuf-ts/runtime";
import type { BinaryReadOptions } from "@protobuf-ts/runtime";
import type { IBinaryReader } from "@protobuf-ts/runtime";
import { UnknownFieldHandler } from "@protobuf-ts/runtime";
import type { PartialMessage } from "@protobuf-ts/runtime";
import { reflectionMergePartial } from "@protobuf-ts/runtime";
import { MessageType } from "@protobuf-ts/runtime";
import { AttachmentType } from "./shared";
import { SharePolicy } from "./shared";
import { EntityType } from "./shared";
import { RequestProjectHeader } from "./shared";
// ========== REQUESTS & RESPONSE MESSAGES ==========

/**
 * Create
 *
 * @generated from protobuf message api.CreateAttachmentTypeRequest
 */
export interface CreateAttachmentTypeRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: string Code = 2 [json_name = "Code"];
     */
    code: string;
    /**
     * @generated from protobuf field: api.EntityType Entity = 3 [json_name = "Entity"];
     */
    entity: EntityType;
    /**
     * @generated from protobuf field: string Label = 4 [json_name = "Label"];
     */
    label: string;
    /**
     * @generated from protobuf field: api.SharePolicy SharePolicy = 5 [json_name = "SharePolicy"];
     */
    sharePolicy: SharePolicy;
    /**
     * @generated from protobuf field: repeated string ManagerRoles = 6 [json_name = "ManagerRoles"];
     */
    managerRoles: string[];
    /**
     * @generated from protobuf field: repeated string ViewerRoles = 7 [json_name = "ViewerRoles"];
     */
    viewerRoles: string[];
}
/**
 * @generated from protobuf message api.CreateAttachmentTypeResponse
 */
export interface CreateAttachmentTypeResponse {
    /**
     * @generated from protobuf field: api.AttachmentType AttachmentType = 1 [json_name = "AttachmentType"];
     */
    attachmentType?: AttachmentType;
}
/**
 * Get
 *
 * @generated from protobuf message api.GetAttachmentTypeRequest
 */
export interface GetAttachmentTypeRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @deprecated
     * @generated from protobuf field: string Code = 2 [deprecated = true, json_name = "Code"];
     */
    code: string;
    /**
     * @deprecated
     * @generated from protobuf field: api.EntityType Entity = 3 [deprecated = true, json_name = "Entity"];
     */
    entity: EntityType;
    /**
     * @generated from protobuf field: string ID = 4 [json_name = "ID"];
     */
    iD: string;
}
/**
 * @generated from protobuf message api.GetAttachmentTypeResponse
 */
export interface GetAttachmentTypeResponse {
    /**
     * @generated from protobuf field: api.AttachmentType AttachmentType = 1 [json_name = "AttachmentType"];
     */
    attachmentType?: AttachmentType;
}
/**
 * List
 *
 * @generated from protobuf message api.ListAttachmentTypeRequest
 */
export interface ListAttachmentTypeRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityType Entity = 2 [json_name = "Entity"];
     */
    entity: EntityType;
}
/**
 * @generated from protobuf message api.ListAttachmentTypeResponse
 */
export interface ListAttachmentTypeResponse {
    /**
     * @generated from protobuf field: repeated api.AttachmentType AttachmentTypes = 1 [json_name = "AttachmentTypes"];
     */
    attachmentTypes: AttachmentType[];
}
/**
 * Update
 *
 * @generated from protobuf message api.UpdateAttachmentTypeRequest
 */
export interface UpdateAttachmentTypeRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @deprecated
     * @generated from protobuf field: string Code = 2 [deprecated = true, json_name = "Code"];
     */
    code: string;
    /**
     * @deprecated
     * @generated from protobuf field: api.EntityType Entity = 3 [deprecated = true, json_name = "Entity"];
     */
    entity: EntityType;
    /**
     * @generated from protobuf field: string Label = 4 [json_name = "Label"];
     */
    label: string;
    /**
     * @generated from protobuf field: api.SharePolicy SharePolicy = 5 [json_name = "SharePolicy"];
     */
    sharePolicy: SharePolicy;
    /**
     * @generated from protobuf field: string ID = 6 [json_name = "ID"];
     */
    iD: string;
    /**
     * @generated from protobuf field: repeated string ManagerRoles = 7 [json_name = "ManagerRoles"];
     */
    managerRoles: string[];
    /**
     * @generated from protobuf field: repeated string ViewerRoles = 8 [json_name = "ViewerRoles"];
     */
    viewerRoles: string[];
}
/**
 * @generated from protobuf message api.UpdateAttachmentTypeResponse
 */
export interface UpdateAttachmentTypeResponse {
    /**
     * @generated from protobuf field: api.AttachmentType AttachmentType = 1 [json_name = "AttachmentType"];
     */
    attachmentType?: AttachmentType;
}
/**
 * Delete
 *
 * @generated from protobuf message api.DeleteAttachmentTypeRequest
 */
export interface DeleteAttachmentTypeRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @deprecated
     * @generated from protobuf field: string Code = 2 [deprecated = true, json_name = "Code"];
     */
    code: string;
    /**
     * @deprecated
     * @generated from protobuf field: api.EntityType Entity = 3 [deprecated = true, json_name = "Entity"];
     */
    entity: EntityType;
    /**
     * @generated from protobuf field: string ID = 4 [json_name = "ID"];
     */
    iD: string;
}
/**
 * @generated from protobuf message api.DeleteAttachmentTypeResponse
 */
export interface DeleteAttachmentTypeResponse {
}
/**
 * @generated from protobuf message api.DeleteAllAttachmentsTypeRequest
 */
export interface DeleteAllAttachmentsTypeRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
}
/**
 * @generated from protobuf message api.DeleteAllAttachmentsTypeResponse
 */
export interface DeleteAllAttachmentsTypeResponse {
}
// @generated message type with reflection information, may provide speed optimized methods
class CreateAttachmentTypeRequest$Type extends MessageType<CreateAttachmentTypeRequest> {
    constructor() {
        super("api.CreateAttachmentTypeRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "Code", kind: "scalar", jsonName: "Code", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1", pattern: "^[a-zA-Z0-9-]+$" } }, "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { pattern: "^[a-zA-Z0-9-]+$" } } },
            { no: 3, name: "Entity", kind: "enum", jsonName: "Entity", T: () => ["api.EntityType", EntityType, "ENTITY_TYPE_"], options: { "validate.rules": { enum: { definedOnly: true } } } },
            { no: 4, name: "Label", kind: "scalar", jsonName: "Label", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
            { no: 5, name: "SharePolicy", kind: "enum", jsonName: "SharePolicy", T: () => ["api.SharePolicy", SharePolicy], options: { "validate.rules": { enum: { definedOnly: true } } } },
            { no: 6, name: "ManagerRoles", kind: "scalar", jsonName: "ManagerRoles", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
            { no: 7, name: "ViewerRoles", kind: "scalar", jsonName: "ViewerRoles", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "Code", "Entity", "Label", "SharePolicy"] } } });
    }
    create(value?: PartialMessage<CreateAttachmentTypeRequest>): CreateAttachmentTypeRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.code = "";
        message.entity = 0;
        message.label = "";
        message.sharePolicy = 0;
        message.managerRoles = [];
        message.viewerRoles = [];
        if (value !== undefined)
            reflectionMergePartial<CreateAttachmentTypeRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateAttachmentTypeRequest): CreateAttachmentTypeRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* string Code = 2 [json_name = "Code"];*/ 2:
                    message.code = reader.string();
                    break;
                case /* api.EntityType Entity = 3 [json_name = "Entity"];*/ 3:
                    message.entity = reader.int32();
                    break;
                case /* string Label = 4 [json_name = "Label"];*/ 4:
                    message.label = reader.string();
                    break;
                case /* api.SharePolicy SharePolicy = 5 [json_name = "SharePolicy"];*/ 5:
                    message.sharePolicy = reader.int32();
                    break;
                case /* repeated string ManagerRoles = 6 [json_name = "ManagerRoles"];*/ 6:
                    message.managerRoles.push(reader.string());
                    break;
                case /* repeated string ViewerRoles = 7 [json_name = "ViewerRoles"];*/ 7:
                    message.viewerRoles.push(reader.string());
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: CreateAttachmentTypeRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* string Code = 2 [json_name = "Code"]; */
        if (message.code !== "")
            writer.tag(2, WireType.LengthDelimited).string(message.code);
        /* api.EntityType Entity = 3 [json_name = "Entity"]; */
        if (message.entity !== 0)
            writer.tag(3, WireType.Varint).int32(message.entity);
        /* string Label = 4 [json_name = "Label"]; */
        if (message.label !== "")
            writer.tag(4, WireType.LengthDelimited).string(message.label);
        /* api.SharePolicy SharePolicy = 5 [json_name = "SharePolicy"]; */
        if (message.sharePolicy !== 0)
            writer.tag(5, WireType.Varint).int32(message.sharePolicy);
        /* repeated string ManagerRoles = 6 [json_name = "ManagerRoles"]; */
        for (let i = 0; i < message.managerRoles.length; i++)
            writer.tag(6, WireType.LengthDelimited).string(message.managerRoles[i]);
        /* repeated string ViewerRoles = 7 [json_name = "ViewerRoles"]; */
        for (let i = 0; i < message.viewerRoles.length; i++)
            writer.tag(7, WireType.LengthDelimited).string(message.viewerRoles[i]);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.CreateAttachmentTypeRequest
 */
export const CreateAttachmentTypeRequest = new CreateAttachmentTypeRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class CreateAttachmentTypeResponse$Type extends MessageType<CreateAttachmentTypeResponse> {
    constructor() {
        super("api.CreateAttachmentTypeResponse", [
            { no: 1, name: "AttachmentType", kind: "message", jsonName: "AttachmentType", T: () => AttachmentType, options: { "validate.rules": { message: { required: true } } } }
        ]);
    }
    create(value?: PartialMessage<CreateAttachmentTypeResponse>): CreateAttachmentTypeResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<CreateAttachmentTypeResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateAttachmentTypeResponse): CreateAttachmentTypeResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.AttachmentType AttachmentType = 1 [json_name = "AttachmentType"];*/ 1:
                    message.attachmentType = AttachmentType.internalBinaryRead(reader, reader.uint32(), options, message.attachmentType);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: CreateAttachmentTypeResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.AttachmentType AttachmentType = 1 [json_name = "AttachmentType"]; */
        if (message.attachmentType)
            AttachmentType.internalBinaryWrite(message.attachmentType, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.CreateAttachmentTypeResponse
 */
export const CreateAttachmentTypeResponse = new CreateAttachmentTypeResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class GetAttachmentTypeRequest$Type extends MessageType<GetAttachmentTypeRequest> {
    constructor() {
        super("api.GetAttachmentTypeRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "Code", kind: "scalar", jsonName: "Code", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { pattern: "^[a-zA-Z0-9-]*" } }, "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { pattern: "^[a-zA-Z0-9-]*" } } },
            { no: 3, name: "Entity", kind: "enum", jsonName: "Entity", T: () => ["api.EntityType", EntityType, "ENTITY_TYPE_"], options: { "validate.rules": { enum: { definedOnly: true } } } },
            { no: 4, name: "ID", kind: "scalar", jsonName: "ID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { pattern: "^[a-zA-Z0-9-]*" } }, "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { pattern: "^[a-zA-Z0-9-]*" } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "Code", "Entity"] } } });
    }
    create(value?: PartialMessage<GetAttachmentTypeRequest>): GetAttachmentTypeRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.code = "";
        message.entity = 0;
        message.iD = "";
        if (value !== undefined)
            reflectionMergePartial<GetAttachmentTypeRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetAttachmentTypeRequest): GetAttachmentTypeRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* string Code = 2 [deprecated = true, json_name = "Code"];*/ 2:
                    message.code = reader.string();
                    break;
                case /* api.EntityType Entity = 3 [deprecated = true, json_name = "Entity"];*/ 3:
                    message.entity = reader.int32();
                    break;
                case /* string ID = 4 [json_name = "ID"];*/ 4:
                    message.iD = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: GetAttachmentTypeRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* string Code = 2 [deprecated = true, json_name = "Code"]; */
        if (message.code !== "")
            writer.tag(2, WireType.LengthDelimited).string(message.code);
        /* api.EntityType Entity = 3 [deprecated = true, json_name = "Entity"]; */
        if (message.entity !== 0)
            writer.tag(3, WireType.Varint).int32(message.entity);
        /* string ID = 4 [json_name = "ID"]; */
        if (message.iD !== "")
            writer.tag(4, WireType.LengthDelimited).string(message.iD);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.GetAttachmentTypeRequest
 */
export const GetAttachmentTypeRequest = new GetAttachmentTypeRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class GetAttachmentTypeResponse$Type extends MessageType<GetAttachmentTypeResponse> {
    constructor() {
        super("api.GetAttachmentTypeResponse", [
            { no: 1, name: "AttachmentType", kind: "message", jsonName: "AttachmentType", T: () => AttachmentType, options: { "validate.rules": { message: { required: true } } } }
        ]);
    }
    create(value?: PartialMessage<GetAttachmentTypeResponse>): GetAttachmentTypeResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<GetAttachmentTypeResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetAttachmentTypeResponse): GetAttachmentTypeResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.AttachmentType AttachmentType = 1 [json_name = "AttachmentType"];*/ 1:
                    message.attachmentType = AttachmentType.internalBinaryRead(reader, reader.uint32(), options, message.attachmentType);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: GetAttachmentTypeResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.AttachmentType AttachmentType = 1 [json_name = "AttachmentType"]; */
        if (message.attachmentType)
            AttachmentType.internalBinaryWrite(message.attachmentType, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.GetAttachmentTypeResponse
 */
export const GetAttachmentTypeResponse = new GetAttachmentTypeResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ListAttachmentTypeRequest$Type extends MessageType<ListAttachmentTypeRequest> {
    constructor() {
        super("api.ListAttachmentTypeRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "Entity", kind: "enum", jsonName: "Entity", T: () => ["api.EntityType", EntityType, "ENTITY_TYPE_"], options: { "validate.rules": { enum: { definedOnly: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header"] } } });
    }
    create(value?: PartialMessage<ListAttachmentTypeRequest>): ListAttachmentTypeRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.entity = 0;
        if (value !== undefined)
            reflectionMergePartial<ListAttachmentTypeRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListAttachmentTypeRequest): ListAttachmentTypeRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityType Entity = 2 [json_name = "Entity"];*/ 2:
                    message.entity = reader.int32();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ListAttachmentTypeRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityType Entity = 2 [json_name = "Entity"]; */
        if (message.entity !== 0)
            writer.tag(2, WireType.Varint).int32(message.entity);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ListAttachmentTypeRequest
 */
export const ListAttachmentTypeRequest = new ListAttachmentTypeRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ListAttachmentTypeResponse$Type extends MessageType<ListAttachmentTypeResponse> {
    constructor() {
        super("api.ListAttachmentTypeResponse", [
            { no: 1, name: "AttachmentTypes", kind: "message", jsonName: "AttachmentTypes", repeat: 1 /*RepeatType.PACKED*/, T: () => AttachmentType, options: { "validate.rules": { repeated: { minItems: "1" } } } }
        ]);
    }
    create(value?: PartialMessage<ListAttachmentTypeResponse>): ListAttachmentTypeResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.attachmentTypes = [];
        if (value !== undefined)
            reflectionMergePartial<ListAttachmentTypeResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListAttachmentTypeResponse): ListAttachmentTypeResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated api.AttachmentType AttachmentTypes = 1 [json_name = "AttachmentTypes"];*/ 1:
                    message.attachmentTypes.push(AttachmentType.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ListAttachmentTypeResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* repeated api.AttachmentType AttachmentTypes = 1 [json_name = "AttachmentTypes"]; */
        for (let i = 0; i < message.attachmentTypes.length; i++)
            AttachmentType.internalBinaryWrite(message.attachmentTypes[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ListAttachmentTypeResponse
 */
export const ListAttachmentTypeResponse = new ListAttachmentTypeResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class UpdateAttachmentTypeRequest$Type extends MessageType<UpdateAttachmentTypeRequest> {
    constructor() {
        super("api.UpdateAttachmentTypeRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "Code", kind: "scalar", jsonName: "Code", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { pattern: "^[a-zA-Z0-9-]*" } }, "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { pattern: "^[a-zA-Z0-9-]*" } } },
            { no: 3, name: "Entity", kind: "enum", jsonName: "Entity", T: () => ["api.EntityType", EntityType, "ENTITY_TYPE_"], options: { "validate.rules": { enum: { definedOnly: true } } } },
            { no: 4, name: "Label", kind: "scalar", jsonName: "Label", T: 9 /*ScalarType.STRING*/ },
            { no: 5, name: "SharePolicy", kind: "enum", jsonName: "SharePolicy", T: () => ["api.SharePolicy", SharePolicy], options: { "validate.rules": { enum: { definedOnly: true } } } },
            { no: 6, name: "ID", kind: "scalar", jsonName: "ID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { pattern: "^[a-zA-Z0-9-]*" } }, "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { pattern: "^[a-zA-Z0-9-]*" } } },
            { no: 7, name: "ManagerRoles", kind: "scalar", jsonName: "ManagerRoles", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
            { no: 8, name: "ViewerRoles", kind: "scalar", jsonName: "ViewerRoles", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "Code", "Entity"] } } });
    }
    create(value?: PartialMessage<UpdateAttachmentTypeRequest>): UpdateAttachmentTypeRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.code = "";
        message.entity = 0;
        message.label = "";
        message.sharePolicy = 0;
        message.iD = "";
        message.managerRoles = [];
        message.viewerRoles = [];
        if (value !== undefined)
            reflectionMergePartial<UpdateAttachmentTypeRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpdateAttachmentTypeRequest): UpdateAttachmentTypeRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* string Code = 2 [deprecated = true, json_name = "Code"];*/ 2:
                    message.code = reader.string();
                    break;
                case /* api.EntityType Entity = 3 [deprecated = true, json_name = "Entity"];*/ 3:
                    message.entity = reader.int32();
                    break;
                case /* string Label = 4 [json_name = "Label"];*/ 4:
                    message.label = reader.string();
                    break;
                case /* api.SharePolicy SharePolicy = 5 [json_name = "SharePolicy"];*/ 5:
                    message.sharePolicy = reader.int32();
                    break;
                case /* string ID = 6 [json_name = "ID"];*/ 6:
                    message.iD = reader.string();
                    break;
                case /* repeated string ManagerRoles = 7 [json_name = "ManagerRoles"];*/ 7:
                    message.managerRoles.push(reader.string());
                    break;
                case /* repeated string ViewerRoles = 8 [json_name = "ViewerRoles"];*/ 8:
                    message.viewerRoles.push(reader.string());
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: UpdateAttachmentTypeRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* string Code = 2 [deprecated = true, json_name = "Code"]; */
        if (message.code !== "")
            writer.tag(2, WireType.LengthDelimited).string(message.code);
        /* api.EntityType Entity = 3 [deprecated = true, json_name = "Entity"]; */
        if (message.entity !== 0)
            writer.tag(3, WireType.Varint).int32(message.entity);
        /* string Label = 4 [json_name = "Label"]; */
        if (message.label !== "")
            writer.tag(4, WireType.LengthDelimited).string(message.label);
        /* api.SharePolicy SharePolicy = 5 [json_name = "SharePolicy"]; */
        if (message.sharePolicy !== 0)
            writer.tag(5, WireType.Varint).int32(message.sharePolicy);
        /* string ID = 6 [json_name = "ID"]; */
        if (message.iD !== "")
            writer.tag(6, WireType.LengthDelimited).string(message.iD);
        /* repeated string ManagerRoles = 7 [json_name = "ManagerRoles"]; */
        for (let i = 0; i < message.managerRoles.length; i++)
            writer.tag(7, WireType.LengthDelimited).string(message.managerRoles[i]);
        /* repeated string ViewerRoles = 8 [json_name = "ViewerRoles"]; */
        for (let i = 0; i < message.viewerRoles.length; i++)
            writer.tag(8, WireType.LengthDelimited).string(message.viewerRoles[i]);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.UpdateAttachmentTypeRequest
 */
export const UpdateAttachmentTypeRequest = new UpdateAttachmentTypeRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class UpdateAttachmentTypeResponse$Type extends MessageType<UpdateAttachmentTypeResponse> {
    constructor() {
        super("api.UpdateAttachmentTypeResponse", [
            { no: 1, name: "AttachmentType", kind: "message", jsonName: "AttachmentType", T: () => AttachmentType, options: { "validate.rules": { message: { required: true } } } }
        ]);
    }
    create(value?: PartialMessage<UpdateAttachmentTypeResponse>): UpdateAttachmentTypeResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<UpdateAttachmentTypeResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpdateAttachmentTypeResponse): UpdateAttachmentTypeResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.AttachmentType AttachmentType = 1 [json_name = "AttachmentType"];*/ 1:
                    message.attachmentType = AttachmentType.internalBinaryRead(reader, reader.uint32(), options, message.attachmentType);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: UpdateAttachmentTypeResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.AttachmentType AttachmentType = 1 [json_name = "AttachmentType"]; */
        if (message.attachmentType)
            AttachmentType.internalBinaryWrite(message.attachmentType, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.UpdateAttachmentTypeResponse
 */
export const UpdateAttachmentTypeResponse = new UpdateAttachmentTypeResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class DeleteAttachmentTypeRequest$Type extends MessageType<DeleteAttachmentTypeRequest> {
    constructor() {
        super("api.DeleteAttachmentTypeRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "Code", kind: "scalar", jsonName: "Code", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { pattern: "^[a-zA-Z0-9-]*" } }, "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { pattern: "^[a-zA-Z0-9-]*" } } },
            { no: 3, name: "Entity", kind: "enum", jsonName: "Entity", T: () => ["api.EntityType", EntityType, "ENTITY_TYPE_"], options: { "validate.rules": { enum: { definedOnly: true } } } },
            { no: 4, name: "ID", kind: "scalar", jsonName: "ID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { pattern: "^[a-zA-Z0-9-]*" } }, "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { pattern: "^[a-zA-Z0-9-]*" } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "Code", "Entity"] } } });
    }
    create(value?: PartialMessage<DeleteAttachmentTypeRequest>): DeleteAttachmentTypeRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.code = "";
        message.entity = 0;
        message.iD = "";
        if (value !== undefined)
            reflectionMergePartial<DeleteAttachmentTypeRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteAttachmentTypeRequest): DeleteAttachmentTypeRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* string Code = 2 [deprecated = true, json_name = "Code"];*/ 2:
                    message.code = reader.string();
                    break;
                case /* api.EntityType Entity = 3 [deprecated = true, json_name = "Entity"];*/ 3:
                    message.entity = reader.int32();
                    break;
                case /* string ID = 4 [json_name = "ID"];*/ 4:
                    message.iD = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: DeleteAttachmentTypeRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* string Code = 2 [deprecated = true, json_name = "Code"]; */
        if (message.code !== "")
            writer.tag(2, WireType.LengthDelimited).string(message.code);
        /* api.EntityType Entity = 3 [deprecated = true, json_name = "Entity"]; */
        if (message.entity !== 0)
            writer.tag(3, WireType.Varint).int32(message.entity);
        /* string ID = 4 [json_name = "ID"]; */
        if (message.iD !== "")
            writer.tag(4, WireType.LengthDelimited).string(message.iD);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.DeleteAttachmentTypeRequest
 */
export const DeleteAttachmentTypeRequest = new DeleteAttachmentTypeRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class DeleteAttachmentTypeResponse$Type extends MessageType<DeleteAttachmentTypeResponse> {
    constructor() {
        super("api.DeleteAttachmentTypeResponse", []);
    }
    create(value?: PartialMessage<DeleteAttachmentTypeResponse>): DeleteAttachmentTypeResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<DeleteAttachmentTypeResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteAttachmentTypeResponse): DeleteAttachmentTypeResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: DeleteAttachmentTypeResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.DeleteAttachmentTypeResponse
 */
export const DeleteAttachmentTypeResponse = new DeleteAttachmentTypeResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class DeleteAllAttachmentsTypeRequest$Type extends MessageType<DeleteAllAttachmentsTypeRequest> {
    constructor() {
        super("api.DeleteAllAttachmentsTypeRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header"] } } });
    }
    create(value?: PartialMessage<DeleteAllAttachmentsTypeRequest>): DeleteAllAttachmentsTypeRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<DeleteAllAttachmentsTypeRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteAllAttachmentsTypeRequest): DeleteAllAttachmentsTypeRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: DeleteAllAttachmentsTypeRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.DeleteAllAttachmentsTypeRequest
 */
export const DeleteAllAttachmentsTypeRequest = new DeleteAllAttachmentsTypeRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class DeleteAllAttachmentsTypeResponse$Type extends MessageType<DeleteAllAttachmentsTypeResponse> {
    constructor() {
        super("api.DeleteAllAttachmentsTypeResponse", []);
    }
    create(value?: PartialMessage<DeleteAllAttachmentsTypeResponse>): DeleteAllAttachmentsTypeResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<DeleteAllAttachmentsTypeResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteAllAttachmentsTypeResponse): DeleteAllAttachmentsTypeResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: DeleteAllAttachmentsTypeResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.DeleteAllAttachmentsTypeResponse
 */
export const DeleteAllAttachmentsTypeResponse = new DeleteAllAttachmentsTypeResponse$Type();
/**
 * @generated ServiceType for protobuf service api.AttachmentTypeService
 */
export const AttachmentTypeService = new ServiceType("api.AttachmentTypeService", [
    { name: "Create", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["AttachmentType"], description: "Create an attachment type for an entity" }, "api.rscType": "Project", "api.roles": "", "google.api.method_visibility": { restriction: "SDK" } }, I: CreateAttachmentTypeRequest, O: CreateAttachmentTypeResponse },
    { name: "Get", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["AttachmentType"], description: "Get an attachment type for an entity" }, "api.rscType": "Project", "api.roles": "", "google.api.method_visibility": { restriction: "SDK" } }, I: GetAttachmentTypeRequest, O: GetAttachmentTypeResponse },
    { name: "List", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["AttachmentType"], description: "List attachment types on a project" }, "api.rscType": "Project", "api.roles": "Platform.AttachmentType", "google.api.method_visibility": { restriction: "SDK" } }, I: ListAttachmentTypeRequest, O: ListAttachmentTypeResponse },
    { name: "Update", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["AttachmentType"], description: "Update an attachment type for an entity" }, "api.rscType": "Project", "api.roles": "", "google.api.method_visibility": { restriction: "SDK" } }, I: UpdateAttachmentTypeRequest, O: UpdateAttachmentTypeResponse },
    { name: "Delete", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["AttachmentType"], description: "Delete an attachment type for an entity" }, "api.rscType": "Project", "api.roles": "", "google.api.method_visibility": { restriction: "SDK" } }, I: DeleteAttachmentTypeRequest, O: DeleteAttachmentTypeResponse },
    { name: "DeleteAll", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["AttachmentType"], description: "Delete all attachments type for entities within the project" }, "api.rscType": "Project", "api.roles": "Platform.Project-Deletion", "google.api.method_visibility": { restriction: "SDK" } }, I: DeleteAllAttachmentsTypeRequest, O: DeleteAllAttachmentsTypeResponse }
], { "api.k8sService": "attachment-server" });
