/// import { ChannelCredentials, ChannelOptions, UntypedServiceImplementation, handleUnaryCall, Client, ClientUnaryCall, Metadata, CallOptions, ServiceError } from '@grpc/grpc-js'; import _m0 from 'protobufjs/minimal'; import { Os, Image } from '../../../../yandex/cloud/compute/v1/image'; import { HardwareGeneration } from '../../../../yandex/cloud/compute/v1/hardware_generation'; import { FieldMask } from '../../../../google/protobuf/field_mask'; import { Operation } from '../../../../yandex/cloud/operation/operation'; import { ListAccessBindingsRequest, ListAccessBindingsResponse, SetAccessBindingsRequest, UpdateAccessBindingsRequest } from '../../../../yandex/cloud/access/access'; export declare const protobufPackage = "yandex.cloud.compute.v1"; export interface GetImageRequest { /** * ID of the Image resource to return. * To get the image ID, use a [ImageService.List] request. */ imageId: string; } export interface GetImageLatestByFamilyRequest { /** * ID of the folder to get the image from. * To get the folder ID, use a [yandex.cloud.resourcemanager.v1.FolderService.List] request. */ folderId: string; /** Name of the image family to search for. */ family: string; } export interface ListImagesRequest { /** * ID of the folder to list images in. * To get the folder ID, use a [yandex.cloud.resourcemanager.v1.FolderService.List] request. */ folderId: string; /** * The maximum number of results per page to return. If the number of available * results is larger than [page_size], * the service returns a [ListImagesResponse.next_page_token] * that can be used to get the next page of results in subsequent list requests. */ pageSize: number; /** * Page token. To get the next page of results, set [page_token] to the * [ListImagesResponse.next_page_token] returned by a previous list request. */ pageToken: string; /** * A filter expression that filters resources listed in the response. * The expression consists of one or more conditions united by `AND` operator: ` [AND [<...> AND ]]`. * * Each condition has the form ` `, where: * 1. `` is the field name. Currently you can use filtering only on the limited number of fields. * 2. `` is a logical operator, one of `=`, `!=`, `IN`, `NOT IN`. * 3. `` represents a value. * String values should be written in double (`"`) or single (`'`) quotes. C-style escape sequences are supported (`\"` turns to `"`, `\'` to `'`, `\\` to backslash). */ filter: string; /** * By which column the listing should be ordered and in which direction, * format is "createdAt desc". "id asc" if omitted. * The default sorting order is ascending */ orderBy: string; } export interface ListImagesResponse { /** List of images. */ images: Image[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListSnapshotsRequest.page_size], use * the [next_page_token] as the value * for the [ListSnapshotsRequest.page_token] query parameter * in the next list request. Each subsequent list request will have its own * [next_page_token] to continue paging through the results. */ nextPageToken: string; } export interface CreateImageRequest { /** * ID of the folder to create an image in. * To get the folder ID, use a [yandex.cloud.resourcemanager.v1.FolderService.List] request. */ folderId: string; /** Name of the image. */ name: string; /** Description of the image. */ description: string; /** Resource labels as `key:value` pairs. */ labels: { [key: string]: string; }; /** * The name of the image family to which this image belongs. For more information, see [Image family](/docs/compute/concepts/image#family). * * To get an information about the most recent image from a family, use a [ImageService.GetLatestByFamily] request. */ family: string; /** * Minimum size of the disk that will be created from this image. * Specified in bytes. Should be more than the volume of source data. */ minDiskSize: number; /** * License IDs that indicate which licenses are attached to this resource. * License IDs are used to calculate additional charges for the use of the virtual machine. * * The correct license ID is generated by the platform. IDs are inherited by new resources created from this resource. * * If you know the license IDs, specify them when you create the image. * For example, if you create a disk image using a third-party utility and load it into Object Storage, the license IDs will be lost. * You can specify them in this request. */ productIds: string[]; /** ID of the source image to create the new image from. */ imageId: string | undefined; /** ID of the disk to create the image from. */ diskId: string | undefined; /** ID of the snapshot to create the image from. */ snapshotId: string | undefined; /** * URI of the source image to create the new image from. * Currently only supports links to images that are stored in Object Storage. * Must be a valid [pre-signed URL](/docs/storage/concepts/pre-signed-urls). * Currently only supports Qcow2, VMDK, and RAW image formats. */ uri: string | undefined; /** * Operating system that is contained in the image. * * If not specified and you used the `image_id` or `disk_id` field to set the source, then the value can be inherited from the source resource. */ os?: Os; /** When true, an image pool will be created for fast creation disks from the image. */ pooled: boolean; /** * Specify the overrides to hardware_generation of a source disk, image or snapshot, * or to the default values if the source does not define it. */ hardwareGeneration?: HardwareGeneration; } export interface CreateImageRequest_LabelsEntry { key: string; value: string; } export interface CreateImageMetadata { /** ID of the image that is being created. */ imageId: string; } export interface UpdateImageRequest { /** * ID of the Image resource to update. * To get the image ID, use a [ImageService.List] request. */ imageId: string; /** Field mask that specifies which fields of the Image resource are going to be updated. */ updateMask?: FieldMask; /** Name of the image. */ name: string; /** Description of the image. */ description: string; /** * Minimum size of the disk that can be created from this image. * Specified in bytes. Should be more than the volume of source data and more than the virtual disk size. */ minDiskSize: number; /** * Resource labels as `key:value` pairs. * * Existing set of `labels` is completely replaced by the provided set. */ labels: { [key: string]: string; }; } export interface UpdateImageRequest_LabelsEntry { key: string; value: string; } export interface UpdateImageMetadata { /** ID of the Image resource that is being updated. */ imageId: string; } export interface DeleteImageRequest { /** * ID of the image to delete. * To get the image ID, use a [ImageService.List] request. */ imageId: string; } export interface DeleteImageMetadata { /** ID of the image that is being deleted. */ imageId: string; } export interface ListImageOperationsRequest { /** ID of the Image resource to list operations for. */ imageId: string; /** * The maximum number of results per page to return. If the number of available * results is larger than [page_size], the service returns a [ListImageOperationsResponse.next_page_token] * that can be used to get the next page of results in subsequent list requests. */ pageSize: number; /** * Page token. To get the next page of results, set [page_token] to the * [ListImageOperationsResponse.next_page_token] returned by a previous list request. */ pageToken: string; } export interface ListImageOperationsResponse { /** List of operations for the specified image. */ operations: Operation[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListImageOperationsRequest.page_size], use the [next_page_token] as the value * for the [ListImageOperationsRequest.page_token] query parameter in the next list request. * Each subsequent list request will have its own [next_page_token] to continue paging through the results. */ nextPageToken: string; } export declare const GetImageRequest: { encode(message: GetImageRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): GetImageRequest; fromJSON(object: any): GetImageRequest; toJSON(message: GetImageRequest): unknown; fromPartial, never>>(object: I): GetImageRequest; }; export declare const GetImageLatestByFamilyRequest: { encode(message: GetImageLatestByFamilyRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): GetImageLatestByFamilyRequest; fromJSON(object: any): GetImageLatestByFamilyRequest; toJSON(message: GetImageLatestByFamilyRequest): unknown; fromPartial, never>>(object: I): GetImageLatestByFamilyRequest; }; export declare const ListImagesRequest: { encode(message: ListImagesRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListImagesRequest; fromJSON(object: any): ListImagesRequest; toJSON(message: ListImagesRequest): unknown; fromPartial, never>>(object: I): ListImagesRequest; }; export declare const ListImagesResponse: { encode(message: ListImagesResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListImagesResponse; fromJSON(object: any): ListImagesResponse; toJSON(message: ListImagesResponse): unknown; fromPartial, never>) | undefined; family?: string | undefined; storageSize?: number | undefined; minDiskSize?: number | undefined; productIds?: (string[] & string[] & Record, never>) | undefined; status?: import("../../../../yandex/cloud/compute/v1/image").Image_Status | undefined; os?: ({ type?: import("../../../../yandex/cloud/compute/v1/image").Os_Type | undefined; } & { type?: import("../../../../yandex/cloud/compute/v1/image").Os_Type | undefined; } & Record, never>) | undefined; pooled?: boolean | undefined; hardwareGeneration?: ({ legacyFeatures?: { pciTopology?: import("../../../../yandex/cloud/compute/v1/hardware_generation").PCITopology | undefined; } | undefined; generation2Features?: {} | undefined; } & { legacyFeatures?: ({ pciTopology?: import("../../../../yandex/cloud/compute/v1/hardware_generation").PCITopology | undefined; } & { pciTopology?: import("../../../../yandex/cloud/compute/v1/hardware_generation").PCITopology | undefined; } & Record, never>) | undefined; generation2Features?: ({} & {} & Record, never>) | undefined; } & Record, never>) | undefined; kmsKey?: ({ keyId?: string | undefined; versionId?: string | undefined; } & { keyId?: string | undefined; versionId?: string | undefined; } & Record, never>) | undefined; } & Record, never>)[] & Record, never>) | undefined; nextPageToken?: string | undefined; } & Record, never>>(object: I): ListImagesResponse; }; export declare const CreateImageRequest: { encode(message: CreateImageRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CreateImageRequest; fromJSON(object: any): CreateImageRequest; toJSON(message: CreateImageRequest): unknown; fromPartial, never>) | undefined; family?: string | undefined; minDiskSize?: number | undefined; productIds?: (string[] & string[] & Record, never>) | undefined; imageId?: string | undefined; diskId?: string | undefined; snapshotId?: string | undefined; uri?: string | undefined; os?: ({ type?: import("../../../../yandex/cloud/compute/v1/image").Os_Type | undefined; } & { type?: import("../../../../yandex/cloud/compute/v1/image").Os_Type | undefined; } & Record, never>) | undefined; pooled?: boolean | undefined; hardwareGeneration?: ({ legacyFeatures?: { pciTopology?: import("../../../../yandex/cloud/compute/v1/hardware_generation").PCITopology | undefined; } | undefined; generation2Features?: {} | undefined; } & { legacyFeatures?: ({ pciTopology?: import("../../../../yandex/cloud/compute/v1/hardware_generation").PCITopology | undefined; } & { pciTopology?: import("../../../../yandex/cloud/compute/v1/hardware_generation").PCITopology | undefined; } & Record, never>) | undefined; generation2Features?: ({} & {} & Record, never>) | undefined; } & Record, never>) | undefined; } & Record, never>>(object: I): CreateImageRequest; }; export declare const CreateImageRequest_LabelsEntry: { encode(message: CreateImageRequest_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CreateImageRequest_LabelsEntry; fromJSON(object: any): CreateImageRequest_LabelsEntry; toJSON(message: CreateImageRequest_LabelsEntry): unknown; fromPartial, never>>(object: I): CreateImageRequest_LabelsEntry; }; export declare const CreateImageMetadata: { encode(message: CreateImageMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CreateImageMetadata; fromJSON(object: any): CreateImageMetadata; toJSON(message: CreateImageMetadata): unknown; fromPartial, never>>(object: I): CreateImageMetadata; }; export declare const UpdateImageRequest: { encode(message: UpdateImageRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): UpdateImageRequest; fromJSON(object: any): UpdateImageRequest; toJSON(message: UpdateImageRequest): unknown; fromPartial, never>) | undefined; } & Record, never>) | undefined; name?: string | undefined; description?: string | undefined; minDiskSize?: number | undefined; labels?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & Record, never>) | undefined; } & Record, never>>(object: I): UpdateImageRequest; }; export declare const UpdateImageRequest_LabelsEntry: { encode(message: UpdateImageRequest_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): UpdateImageRequest_LabelsEntry; fromJSON(object: any): UpdateImageRequest_LabelsEntry; toJSON(message: UpdateImageRequest_LabelsEntry): unknown; fromPartial, never>>(object: I): UpdateImageRequest_LabelsEntry; }; export declare const UpdateImageMetadata: { encode(message: UpdateImageMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): UpdateImageMetadata; fromJSON(object: any): UpdateImageMetadata; toJSON(message: UpdateImageMetadata): unknown; fromPartial, never>>(object: I): UpdateImageMetadata; }; export declare const DeleteImageRequest: { encode(message: DeleteImageRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): DeleteImageRequest; fromJSON(object: any): DeleteImageRequest; toJSON(message: DeleteImageRequest): unknown; fromPartial, never>>(object: I): DeleteImageRequest; }; export declare const DeleteImageMetadata: { encode(message: DeleteImageMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): DeleteImageMetadata; fromJSON(object: any): DeleteImageMetadata; toJSON(message: DeleteImageMetadata): unknown; fromPartial, never>>(object: I): DeleteImageMetadata; }; export declare const ListImageOperationsRequest: { encode(message: ListImageOperationsRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListImageOperationsRequest; fromJSON(object: any): ListImageOperationsRequest; toJSON(message: ListImageOperationsRequest): unknown; fromPartial, never>>(object: I): ListImageOperationsRequest; }; export declare const ListImageOperationsResponse: { encode(message: ListImageOperationsResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListImageOperationsResponse; fromJSON(object: any): ListImageOperationsResponse; toJSON(message: ListImageOperationsResponse): unknown; fromPartial, never>) | undefined; error?: ({ code?: number | undefined; message?: string | undefined; details?: { typeUrl?: string | undefined; value?: Buffer | undefined; }[] | undefined; } & { code?: number | undefined; message?: string | undefined; details?: ({ typeUrl?: string | undefined; value?: Buffer | undefined; }[] & ({ typeUrl?: string | undefined; value?: Buffer | undefined; } & { typeUrl?: string | undefined; value?: Buffer | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; response?: ({ typeUrl?: string | undefined; value?: Buffer | undefined; } & { typeUrl?: string | undefined; value?: Buffer | undefined; } & Record, never>) | undefined; } & Record, never>)[] & Record, never>) | undefined; nextPageToken?: string | undefined; } & Record, never>>(object: I): ListImageOperationsResponse; }; /** A set of methods for managing Image resources. */ export declare const ImageServiceService: { /** * Returns the specified Image resource. * * To get the list of available Image resources, make a [List] request. */ readonly get: { readonly path: "/yandex.cloud.compute.v1.ImageService/Get"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: GetImageRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => GetImageRequest; readonly responseSerialize: (value: Image) => Buffer; readonly responseDeserialize: (value: Buffer) => Image; }; /** Returns the latest image that is part of an image family. */ readonly getLatestByFamily: { readonly path: "/yandex.cloud.compute.v1.ImageService/GetLatestByFamily"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: GetImageLatestByFamilyRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => GetImageLatestByFamilyRequest; readonly responseSerialize: (value: Image) => Buffer; readonly responseDeserialize: (value: Buffer) => Image; }; /** Retrieves the list of Image resources in the specified folder. */ readonly list: { readonly path: "/yandex.cloud.compute.v1.ImageService/List"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: ListImagesRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => ListImagesRequest; readonly responseSerialize: (value: ListImagesResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => ListImagesResponse; }; /** * Creates an image in the specified folder. * * You can create an image from a disk, snapshot, other image or URI. * Method starts an asynchronous operation that can be cancelled while it is in progress. */ readonly create: { readonly path: "/yandex.cloud.compute.v1.ImageService/Create"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: CreateImageRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => CreateImageRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** Updates the specified image. */ readonly update: { readonly path: "/yandex.cloud.compute.v1.ImageService/Update"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: UpdateImageRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => UpdateImageRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** * Deletes the specified image. * * Deleting an image removes its data permanently and is irreversible. */ readonly delete: { readonly path: "/yandex.cloud.compute.v1.ImageService/Delete"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: DeleteImageRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => DeleteImageRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** Lists operations for the specified image. */ readonly listOperations: { readonly path: "/yandex.cloud.compute.v1.ImageService/ListOperations"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: ListImageOperationsRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => ListImageOperationsRequest; readonly responseSerialize: (value: ListImageOperationsResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => ListImageOperationsResponse; }; /** Lists access bindings for the image. */ readonly listAccessBindings: { readonly path: "/yandex.cloud.compute.v1.ImageService/ListAccessBindings"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: ListAccessBindingsRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => ListAccessBindingsRequest; readonly responseSerialize: (value: ListAccessBindingsResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => ListAccessBindingsResponse; }; /** Sets access bindings for the image. */ readonly setAccessBindings: { readonly path: "/yandex.cloud.compute.v1.ImageService/SetAccessBindings"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: SetAccessBindingsRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => SetAccessBindingsRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** Updates access bindings for the image. */ readonly updateAccessBindings: { readonly path: "/yandex.cloud.compute.v1.ImageService/UpdateAccessBindings"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: UpdateAccessBindingsRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => UpdateAccessBindingsRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; }; export interface ImageServiceServer extends UntypedServiceImplementation { /** * Returns the specified Image resource. * * To get the list of available Image resources, make a [List] request. */ get: handleUnaryCall; /** Returns the latest image that is part of an image family. */ getLatestByFamily: handleUnaryCall; /** Retrieves the list of Image resources in the specified folder. */ list: handleUnaryCall; /** * Creates an image in the specified folder. * * You can create an image from a disk, snapshot, other image or URI. * Method starts an asynchronous operation that can be cancelled while it is in progress. */ create: handleUnaryCall; /** Updates the specified image. */ update: handleUnaryCall; /** * Deletes the specified image. * * Deleting an image removes its data permanently and is irreversible. */ delete: handleUnaryCall; /** Lists operations for the specified image. */ listOperations: handleUnaryCall; /** Lists access bindings for the image. */ listAccessBindings: handleUnaryCall; /** Sets access bindings for the image. */ setAccessBindings: handleUnaryCall; /** Updates access bindings for the image. */ updateAccessBindings: handleUnaryCall; } export interface ImageServiceClient extends Client { /** * Returns the specified Image resource. * * To get the list of available Image resources, make a [List] request. */ get(request: GetImageRequest, callback: (error: ServiceError | null, response: Image) => void): ClientUnaryCall; get(request: GetImageRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Image) => void): ClientUnaryCall; get(request: GetImageRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Image) => void): ClientUnaryCall; /** Returns the latest image that is part of an image family. */ getLatestByFamily(request: GetImageLatestByFamilyRequest, callback: (error: ServiceError | null, response: Image) => void): ClientUnaryCall; getLatestByFamily(request: GetImageLatestByFamilyRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Image) => void): ClientUnaryCall; getLatestByFamily(request: GetImageLatestByFamilyRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Image) => void): ClientUnaryCall; /** Retrieves the list of Image resources in the specified folder. */ list(request: ListImagesRequest, callback: (error: ServiceError | null, response: ListImagesResponse) => void): ClientUnaryCall; list(request: ListImagesRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListImagesResponse) => void): ClientUnaryCall; list(request: ListImagesRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ListImagesResponse) => void): ClientUnaryCall; /** * Creates an image in the specified folder. * * You can create an image from a disk, snapshot, other image or URI. * Method starts an asynchronous operation that can be cancelled while it is in progress. */ create(request: CreateImageRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; create(request: CreateImageRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; create(request: CreateImageRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** Updates the specified image. */ update(request: UpdateImageRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; update(request: UpdateImageRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; update(request: UpdateImageRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** * Deletes the specified image. * * Deleting an image removes its data permanently and is irreversible. */ delete(request: DeleteImageRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; delete(request: DeleteImageRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; delete(request: DeleteImageRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** Lists operations for the specified image. */ listOperations(request: ListImageOperationsRequest, callback: (error: ServiceError | null, response: ListImageOperationsResponse) => void): ClientUnaryCall; listOperations(request: ListImageOperationsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListImageOperationsResponse) => void): ClientUnaryCall; listOperations(request: ListImageOperationsRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ListImageOperationsResponse) => void): ClientUnaryCall; /** Lists access bindings for the image. */ listAccessBindings(request: ListAccessBindingsRequest, callback: (error: ServiceError | null, response: ListAccessBindingsResponse) => void): ClientUnaryCall; listAccessBindings(request: ListAccessBindingsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListAccessBindingsResponse) => void): ClientUnaryCall; listAccessBindings(request: ListAccessBindingsRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ListAccessBindingsResponse) => void): ClientUnaryCall; /** Sets access bindings for the image. */ setAccessBindings(request: SetAccessBindingsRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; setAccessBindings(request: SetAccessBindingsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; setAccessBindings(request: SetAccessBindingsRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** Updates access bindings for the image. */ updateAccessBindings(request: UpdateAccessBindingsRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; updateAccessBindings(request: UpdateAccessBindingsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; updateAccessBindings(request: UpdateAccessBindingsRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; } export declare const ImageServiceClient: { new (address: string, credentials: ChannelCredentials, options?: Partial): ImageServiceClient; service: typeof ImageServiceService; }; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & Record>, never>; export {};