import { PagedAsyncIterableIterator } from "@azure/core-paging";
import { SimplePollerLike, OperationState } from "@azure/core-lro";
import { GalleryImageVersion, GalleryImageVersionsListByGalleryImageOptionalParams, GalleryImageVersionsGetOptionalParams, GalleryImageVersionsGetResponse, GalleryImageVersionsCreateOrUpdateOptionalParams, GalleryImageVersionsCreateOrUpdateResponse, GalleryImageVersionUpdate, GalleryImageVersionsUpdateOptionalParams, GalleryImageVersionsUpdateResponse, GalleryImageVersionsDeleteOptionalParams } from "../models/index.js";
/** Interface representing a GalleryImageVersions. */
export interface GalleryImageVersions {
    /**
     * List gallery image versions in 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.
     */
    listByGalleryImage(resourceGroupName: string, galleryName: string, galleryImageName: string, options?: GalleryImageVersionsListByGalleryImageOptionalParams): PagedAsyncIterableIterator<GalleryImageVersion>;
    /**
     * Retrieves information about a gallery image version.
     * @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 galleryImageVersionName The name of the gallery image version to be retrieved.
     * @param options The options parameters.
     */
    get(resourceGroupName: string, galleryName: string, galleryImageName: string, galleryImageVersionName: string, options?: GalleryImageVersionsGetOptionalParams): Promise<GalleryImageVersionsGetResponse>;
    /**
     * Create or update a gallery image version.
     * @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 galleryImageVersionName The name of the gallery image version to be retrieved.
     * @param galleryImageVersion Parameters supplied to the create or update gallery image version
     *                            operation.
     * @param options The options parameters.
     */
    beginCreateOrUpdate(resourceGroupName: string, galleryName: string, galleryImageName: string, galleryImageVersionName: string, galleryImageVersion: GalleryImageVersion, options?: GalleryImageVersionsCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<GalleryImageVersionsCreateOrUpdateResponse>, GalleryImageVersionsCreateOrUpdateResponse>>;
    /**
     * Create or update a gallery image version.
     * @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 galleryImageVersionName The name of the gallery image version to be retrieved.
     * @param galleryImageVersion Parameters supplied to the create or update gallery image version
     *                            operation.
     * @param options The options parameters.
     */
    beginCreateOrUpdateAndWait(resourceGroupName: string, galleryName: string, galleryImageName: string, galleryImageVersionName: string, galleryImageVersion: GalleryImageVersion, options?: GalleryImageVersionsCreateOrUpdateOptionalParams): Promise<GalleryImageVersionsCreateOrUpdateResponse>;
    /**
     * Update a gallery image version.
     * @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 galleryImageVersionName The name of the gallery image version to be retrieved.
     * @param galleryImageVersion Parameters supplied to the update gallery image version operation.
     * @param options The options parameters.
     */
    beginUpdate(resourceGroupName: string, galleryName: string, galleryImageName: string, galleryImageVersionName: string, galleryImageVersion: GalleryImageVersionUpdate, options?: GalleryImageVersionsUpdateOptionalParams): Promise<SimplePollerLike<OperationState<GalleryImageVersionsUpdateResponse>, GalleryImageVersionsUpdateResponse>>;
    /**
     * Update a gallery image version.
     * @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 galleryImageVersionName The name of the gallery image version to be retrieved.
     * @param galleryImageVersion Parameters supplied to the update gallery image version operation.
     * @param options The options parameters.
     */
    beginUpdateAndWait(resourceGroupName: string, galleryName: string, galleryImageName: string, galleryImageVersionName: string, galleryImageVersion: GalleryImageVersionUpdate, options?: GalleryImageVersionsUpdateOptionalParams): Promise<GalleryImageVersionsUpdateResponse>;
    /**
     * Delete a gallery image version.
     * @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 galleryImageVersionName The name of the gallery image version to be retrieved.
     * @param options The options parameters.
     */
    beginDelete(resourceGroupName: string, galleryName: string, galleryImageName: string, galleryImageVersionName: string, options?: GalleryImageVersionsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    /**
     * Delete a gallery image version.
     * @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 galleryImageVersionName The name of the gallery image version to be retrieved.
     * @param options The options parameters.
     */
    beginDeleteAndWait(resourceGroupName: string, galleryName: string, galleryImageName: string, galleryImageVersionName: string, options?: GalleryImageVersionsDeleteOptionalParams): Promise<void>;
}
//# sourceMappingURL=galleryImageVersions.d.ts.map