import { PagedAsyncIterableIterator } from "@azure/core-paging";
import { DeletedServices } from "../operationsInterfaces/index.js";
import { ApiManagementClient } from "../apiManagementClient.js";
import { SimplePollerLike, OperationState } from "@azure/core-lro";
import { DeletedServiceContract, DeletedServicesListBySubscriptionOptionalParams, DeletedServicesGetByNameOptionalParams, DeletedServicesGetByNameResponse, DeletedServicesPurgeOptionalParams } from "../models/index.js";
/** Class containing DeletedServices operations. */
export declare class DeletedServicesImpl implements DeletedServices {
    private readonly client;
    /**
     * Initialize a new instance of the class DeletedServices class.
     * @param client Reference to the service client
     */
    constructor(client: ApiManagementClient);
    /**
     * Lists all soft-deleted services available for undelete for the given subscription.
     * @param options The options parameters.
     */
    listBySubscription(options?: DeletedServicesListBySubscriptionOptionalParams): PagedAsyncIterableIterator<DeletedServiceContract>;
    private listBySubscriptionPagingPage;
    private listBySubscriptionPagingAll;
    /**
     * Lists all soft-deleted services available for undelete for the given subscription.
     * @param options The options parameters.
     */
    private _listBySubscription;
    /**
     * Get soft-deleted Api Management Service by name.
     * @param serviceName The name of the API Management service.
     * @param location The location of the deleted API Management service.
     * @param options The options parameters.
     */
    getByName(serviceName: string, location: string, options?: DeletedServicesGetByNameOptionalParams): Promise<DeletedServicesGetByNameResponse>;
    /**
     * Purges Api Management Service (deletes it with no option to undelete).
     * @param serviceName The name of the API Management service.
     * @param location The location of the deleted API Management service.
     * @param options The options parameters.
     */
    beginPurge(serviceName: string, location: string, options?: DeletedServicesPurgeOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    /**
     * Purges Api Management Service (deletes it with no option to undelete).
     * @param serviceName The name of the API Management service.
     * @param location The location of the deleted API Management service.
     * @param options The options parameters.
     */
    beginPurgeAndWait(serviceName: string, location: string, options?: DeletedServicesPurgeOptionalParams): Promise<void>;
    /**
     * ListBySubscriptionNext
     * @param nextLink The nextLink from the previous successful call to the ListBySubscription method.
     * @param options The options parameters.
     */
    private _listBySubscriptionNext;
}
//# sourceMappingURL=deletedServices.d.ts.map