import { PagedAsyncIterableIterator } from "@azure/core-paging";
import { Galleries } from "../operationsInterfaces/index.js";
import { ComputeManagementClient } from "../computeManagementClient.js";
import { SimplePollerLike, OperationState } from "@azure/core-lro";
import { Gallery, GalleriesListOptionalParams, GalleriesListByResourceGroupOptionalParams, GalleriesGetOptionalParams, GalleriesGetResponse, GalleriesCreateOrUpdateOptionalParams, GalleriesCreateOrUpdateResponse, GalleryUpdate, GalleriesUpdateOptionalParams, GalleriesUpdateResponse, GalleriesDeleteOptionalParams } from "../models/index.js";
/** Class containing Galleries operations. */
export declare class GalleriesImpl implements Galleries {
    private readonly client;
    /**
     * Initialize a new instance of the class Galleries class.
     * @param client Reference to the service client
     */
    constructor(client: ComputeManagementClient);
    /**
     * List galleries under a subscription.
     * @param options The options parameters.
     */
    list(options?: GalleriesListOptionalParams): PagedAsyncIterableIterator<Gallery>;
    private listPagingPage;
    private listPagingAll;
    /**
     * 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>;
    private listByResourceGroupPagingPage;
    private listByResourceGroupPagingAll;
    /**
     * List galleries under a subscription.
     * @param options The options parameters.
     */
    private _list;
    /**
     * List galleries under a resource group.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param options The options parameters.
     */
    private _listByResourceGroup;
    /**
     * 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>;
    /**
     * ListNext
     * @param nextLink The nextLink from the previous successful call to the List method.
     * @param options The options parameters.
     */
    private _listNext;
    /**
     * ListByResourceGroupNext
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method.
     * @param options The options parameters.
     */
    private _listByResourceGroupNext;
}
//# sourceMappingURL=galleries.d.ts.map