import { PagedAsyncIterableIterator } from "@azure/core-paging";
import { SimplePollerLike, OperationState } from "@azure/core-lro";
import { Gallery, GalleriesListOptionalParams, GalleriesListByResourceGroupOptionalParams, GalleriesGetOptionalParams, GalleriesGetResponse, GalleriesCreateOrUpdateOptionalParams, GalleriesCreateOrUpdateResponse, GalleryUpdate, GalleriesUpdateOptionalParams, GalleriesUpdateResponse, GalleriesDeleteOptionalParams } from "../models/index.js";
/** Interface representing a Galleries. */
export interface Galleries {
    /**
     * List galleries under a subscription.
     * @param options The options parameters.
     */
    list(options?: GalleriesListOptionalParams): PagedAsyncIterableIterator<Gallery>;
    /**
     * List galleries under a resource group.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param options The options parameters.
     */
    listByResourceGroup(resourceGroupName: string, options?: GalleriesListByResourceGroupOptionalParams): PagedAsyncIterableIterator<Gallery>;
    /**
     * Retrieves information about a Shared Image 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.
     */
    get(resourceGroupName: string, galleryName: string, options?: GalleriesGetOptionalParams): Promise<GalleriesGetResponse>;
    /**
     * Create or update a Shared Image Gallery.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param galleryName The name of the Shared Image Gallery.
     * @param gallery Parameters supplied to the create or update Shared Image Gallery operation.
     * @param options The options parameters.
     */
    beginCreateOrUpdate(resourceGroupName: string, galleryName: string, gallery: Gallery, options?: GalleriesCreateOrUpdateOptionalParams): Promise<SimplePollerLike<OperationState<GalleriesCreateOrUpdateResponse>, GalleriesCreateOrUpdateResponse>>;
    /**
     * Create or update a Shared Image Gallery.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param galleryName The name of the Shared Image Gallery.
     * @param gallery Parameters supplied to the create or update Shared Image Gallery operation.
     * @param options The options parameters.
     */
    beginCreateOrUpdateAndWait(resourceGroupName: string, galleryName: string, gallery: Gallery, options?: GalleriesCreateOrUpdateOptionalParams): Promise<GalleriesCreateOrUpdateResponse>;
    /**
     * Update a Shared Image Gallery.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param galleryName The name of the Shared Image Gallery.
     * @param gallery Parameters supplied to the update Shared Image Gallery operation.
     * @param options The options parameters.
     */
    beginUpdate(resourceGroupName: string, galleryName: string, gallery: GalleryUpdate, options?: GalleriesUpdateOptionalParams): Promise<SimplePollerLike<OperationState<GalleriesUpdateResponse>, GalleriesUpdateResponse>>;
    /**
     * Update a Shared Image Gallery.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param galleryName The name of the Shared Image Gallery.
     * @param gallery Parameters supplied to the update Shared Image Gallery operation.
     * @param options The options parameters.
     */
    beginUpdateAndWait(resourceGroupName: string, galleryName: string, gallery: GalleryUpdate, options?: GalleriesUpdateOptionalParams): Promise<GalleriesUpdateResponse>;
    /**
     * Delete a Shared Image 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.
     */
    beginDelete(resourceGroupName: string, galleryName: string, options?: GalleriesDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    /**
     * Delete a Shared Image 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.
     */
    beginDeleteAndWait(resourceGroupName: string, galleryName: string, options?: GalleriesDeleteOptionalParams): Promise<void>;
}
//# sourceMappingURL=galleries.d.ts.map