import type { PagedAsyncIterableIterator } from "@azure/core-paging";
import type { GalleryImages } from "../operationsInterfaces/index.js";
import type { ComputeManagementClient } from "../computeManagementClient.js";
import type { SimplePollerLike, OperationState } from "@azure/core-lro";
import type { GalleryImage, GalleryImagesListByGalleryOptionalParams, GalleryImagesGetOptionalParams, GalleryImagesGetResponse, GalleryImagesCreateOrUpdateOptionalParams, GalleryImagesCreateOrUpdateResponse, GalleryImageUpdate, GalleryImagesUpdateOptionalParams, GalleryImagesUpdateResponse, GalleryImagesDeleteOptionalParams } from "../models/index.js";
/** Class containing GalleryImages operations. */
export declare class GalleryImagesImpl implements GalleryImages {
    private readonly client;
    /**
     * Initialize a new instance of the class GalleryImages class.
     * @param client Reference to the service client
     */
    constructor(client: ComputeManagementClient);
    /**
     * List gallery image definitions in a gallery.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param galleryName The name of the Shared Image Gallery.
     * @param options The options parameters.
     */
    listByGallery(resourceGroupName: string, galleryName: string, options?: GalleryImagesListByGalleryOptionalParams): PagedAsyncIterableIterator<GalleryImage>;
    private listByGalleryPagingPage;
    private listByGalleryPagingAll;
    /**
     * List gallery image definitions in a gallery.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param galleryName The name of the Shared Image Gallery.
     * @param options The options parameters.
     */
    private _listByGallery;
    /**
     * Retrieves information about a gallery image definition.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param galleryName The name of the Shared Image Gallery.
     * @param galleryImageName The name of the gallery image definition to be retrieved.
     * @param options The options parameters.
     */
    get(resourceGroupName: string, galleryName: string, galleryImageName: string, options?: GalleryImagesGetOptionalParams): Promise<GalleryImagesGetResponse>;
    /**
     * Create or update a gallery image definition.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param galleryName The name of the Shared Image Gallery.
     * @param galleryImageName The name of the gallery image definition to be retrieved.
     * @param galleryImage Parameters supplied to the create or update gallery image operation.
     * @param options The options parameters.
     */
    beginCreateOrUpdate(resourceGroupName: string, galleryName: string, galleryImageName: string, galleryImage: GalleryImage, options?: GalleryImagesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<GalleryImagesCreateOrUpdateResponse>, GalleryImagesCreateOrUpdateResponse>>;
    /**
     * Create or update a gallery image definition.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param galleryName The name of the Shared Image Gallery.
     * @param galleryImageName The name of the gallery image definition to be retrieved.
     * @param galleryImage Parameters supplied to the create or update gallery image operation.
     * @param options The options parameters.
     */
    beginCreateOrUpdateAndWait(resourceGroupName: string, galleryName: string, galleryImageName: string, galleryImage: GalleryImage, options?: GalleryImagesCreateOrUpdateOptionalParams): Promise<GalleryImagesCreateOrUpdateResponse>;
    /**
     * Update a gallery image definition.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param galleryName The name of the Shared Image Gallery.
     * @param galleryImageName The name of the gallery image definition to be retrieved.
     * @param galleryImage Parameters supplied to the update gallery image operation.
     * @param options The options parameters.
     */
    beginUpdate(resourceGroupName: string, galleryName: string, galleryImageName: string, galleryImage: GalleryImageUpdate, options?: GalleryImagesUpdateOptionalParams): Promise<SimplePollerLike<OperationState<GalleryImagesUpdateResponse>, GalleryImagesUpdateResponse>>;
    /**
     * Update a gallery image definition.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param galleryName The name of the Shared Image Gallery.
     * @param galleryImageName The name of the gallery image definition to be retrieved.
     * @param galleryImage Parameters supplied to the update gallery image operation.
     * @param options The options parameters.
     */
    beginUpdateAndWait(resourceGroupName: string, galleryName: string, galleryImageName: string, galleryImage: GalleryImageUpdate, options?: GalleryImagesUpdateOptionalParams): Promise<GalleryImagesUpdateResponse>;
    /**
     * Delete a gallery image.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param galleryName The name of the Shared Image Gallery.
     * @param galleryImageName The name of the gallery image definition to be retrieved.
     * @param options The options parameters.
     */
    beginDelete(resourceGroupName: string, galleryName: string, galleryImageName: string, options?: GalleryImagesDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    /**
     * Delete a gallery image.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param galleryName The name of the Shared Image Gallery.
     * @param galleryImageName The name of the gallery image definition to be retrieved.
     * @param options The options parameters.
     */
    beginDeleteAndWait(resourceGroupName: string, galleryName: string, galleryImageName: string, options?: GalleryImagesDeleteOptionalParams): Promise<void>;
    /**
     * ListByGalleryNext
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param galleryName The name of the Shared Image Gallery.
     * @param nextLink The nextLink from the previous successful call to the ListByGallery method.
     * @param options The options parameters.
     */
    private _listByGalleryNext;
}
//# sourceMappingURL=galleryImages.d.ts.map