// @generated by protobuf-ts 2.9.6
// @generated from protobuf file "attachmentType.proto" (package "api", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import { AttachmentTypeService } from "./attachmentType";
import type { DeleteAllAttachmentsTypeResponse } from "./attachmentType";
import type { DeleteAllAttachmentsTypeRequest } from "./attachmentType";
import type { DeleteAttachmentTypeResponse } from "./attachmentType";
import type { DeleteAttachmentTypeRequest } from "./attachmentType";
import type { UpdateAttachmentTypeResponse } from "./attachmentType";
import type { UpdateAttachmentTypeRequest } from "./attachmentType";
import type { ListAttachmentTypeResponse } from "./attachmentType";
import type { ListAttachmentTypeRequest } from "./attachmentType";
import type { GetAttachmentTypeResponse } from "./attachmentType";
import type { GetAttachmentTypeRequest } from "./attachmentType";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
import type { CreateAttachmentTypeResponse } from "./attachmentType";
import type { CreateAttachmentTypeRequest } from "./attachmentType";
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
/**
 * @generated from protobuf service api.AttachmentTypeService
 */
export interface IAttachmentTypeServiceClient {
    /**
     * @generated from protobuf rpc: Create(api.CreateAttachmentTypeRequest) returns (api.CreateAttachmentTypeResponse);
     */
    create(input: CreateAttachmentTypeRequest, options?: RpcOptions): UnaryCall<CreateAttachmentTypeRequest, CreateAttachmentTypeResponse>;
    /**
     * @generated from protobuf rpc: Get(api.GetAttachmentTypeRequest) returns (api.GetAttachmentTypeResponse);
     */
    get(input: GetAttachmentTypeRequest, options?: RpcOptions): UnaryCall<GetAttachmentTypeRequest, GetAttachmentTypeResponse>;
    /**
     * @generated from protobuf rpc: List(api.ListAttachmentTypeRequest) returns (api.ListAttachmentTypeResponse);
     */
    list(input: ListAttachmentTypeRequest, options?: RpcOptions): UnaryCall<ListAttachmentTypeRequest, ListAttachmentTypeResponse>;
    /**
     * @generated from protobuf rpc: Update(api.UpdateAttachmentTypeRequest) returns (api.UpdateAttachmentTypeResponse);
     */
    update(input: UpdateAttachmentTypeRequest, options?: RpcOptions): UnaryCall<UpdateAttachmentTypeRequest, UpdateAttachmentTypeResponse>;
    /**
     * @generated from protobuf rpc: Delete(api.DeleteAttachmentTypeRequest) returns (api.DeleteAttachmentTypeResponse);
     */
    delete(input: DeleteAttachmentTypeRequest, options?: RpcOptions): UnaryCall<DeleteAttachmentTypeRequest, DeleteAttachmentTypeResponse>;
    /**
     * @generated from protobuf rpc: DeleteAll(api.DeleteAllAttachmentsTypeRequest) returns (api.DeleteAllAttachmentsTypeResponse);
     */
    deleteAll(input: DeleteAllAttachmentsTypeRequest, options?: RpcOptions): UnaryCall<DeleteAllAttachmentsTypeRequest, DeleteAllAttachmentsTypeResponse>;
}
/**
 * @generated from protobuf service api.AttachmentTypeService
 */
export class AttachmentTypeServiceClient implements IAttachmentTypeServiceClient, ServiceInfo {
    typeName = AttachmentTypeService.typeName;
    methods = AttachmentTypeService.methods;
    options = AttachmentTypeService.options;
    constructor(private readonly _transport: RpcTransport) {
    }
    /**
     * @generated from protobuf rpc: Create(api.CreateAttachmentTypeRequest) returns (api.CreateAttachmentTypeResponse);
     */
    create(input: CreateAttachmentTypeRequest, options?: RpcOptions): UnaryCall<CreateAttachmentTypeRequest, CreateAttachmentTypeResponse> {
        const method = this.methods[0], opt = this._transport.mergeOptions(options);
        return stackIntercept<CreateAttachmentTypeRequest, CreateAttachmentTypeResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: Get(api.GetAttachmentTypeRequest) returns (api.GetAttachmentTypeResponse);
     */
    get(input: GetAttachmentTypeRequest, options?: RpcOptions): UnaryCall<GetAttachmentTypeRequest, GetAttachmentTypeResponse> {
        const method = this.methods[1], opt = this._transport.mergeOptions(options);
        return stackIntercept<GetAttachmentTypeRequest, GetAttachmentTypeResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: List(api.ListAttachmentTypeRequest) returns (api.ListAttachmentTypeResponse);
     */
    list(input: ListAttachmentTypeRequest, options?: RpcOptions): UnaryCall<ListAttachmentTypeRequest, ListAttachmentTypeResponse> {
        const method = this.methods[2], opt = this._transport.mergeOptions(options);
        return stackIntercept<ListAttachmentTypeRequest, ListAttachmentTypeResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: Update(api.UpdateAttachmentTypeRequest) returns (api.UpdateAttachmentTypeResponse);
     */
    update(input: UpdateAttachmentTypeRequest, options?: RpcOptions): UnaryCall<UpdateAttachmentTypeRequest, UpdateAttachmentTypeResponse> {
        const method = this.methods[3], opt = this._transport.mergeOptions(options);
        return stackIntercept<UpdateAttachmentTypeRequest, UpdateAttachmentTypeResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: Delete(api.DeleteAttachmentTypeRequest) returns (api.DeleteAttachmentTypeResponse);
     */
    delete(input: DeleteAttachmentTypeRequest, options?: RpcOptions): UnaryCall<DeleteAttachmentTypeRequest, DeleteAttachmentTypeResponse> {
        const method = this.methods[4], opt = this._transport.mergeOptions(options);
        return stackIntercept<DeleteAttachmentTypeRequest, DeleteAttachmentTypeResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: DeleteAll(api.DeleteAllAttachmentsTypeRequest) returns (api.DeleteAllAttachmentsTypeResponse);
     */
    deleteAll(input: DeleteAllAttachmentsTypeRequest, options?: RpcOptions): UnaryCall<DeleteAllAttachmentsTypeRequest, DeleteAllAttachmentsTypeResponse> {
        const method = this.methods[5], opt = this._transport.mergeOptions(options);
        return stackIntercept<DeleteAllAttachmentsTypeRequest, DeleteAllAttachmentsTypeResponse>("unary", this._transport, method, opt, input);
    }
}
