import { PagedAsyncIterableIterator } from "@azure/core-paging";
import { LongTermRetentionBackups } from "../operationsInterfaces/index.js";
import { SqlManagementClient } from "../sqlManagementClient.js";
import { SimplePollerLike, OperationState } from "@azure/core-lro";
import { LongTermRetentionBackup, LongTermRetentionBackupsListByLocationOptionalParams, LongTermRetentionBackupsListByServerOptionalParams, LongTermRetentionBackupsListByDatabaseOptionalParams, LongTermRetentionBackupsListByResourceGroupLocationOptionalParams, LongTermRetentionBackupsListByResourceGroupServerOptionalParams, LongTermRetentionBackupsListByResourceGroupDatabaseOptionalParams, LongTermRetentionBackupsGetOptionalParams, LongTermRetentionBackupsGetResponse, LongTermRetentionBackupsDeleteOptionalParams, ChangeLongTermRetentionBackupAccessTierParameters, LongTermRetentionBackupsChangeAccessTierOptionalParams, LongTermRetentionBackupsChangeAccessTierResponse, CopyLongTermRetentionBackupParameters, LongTermRetentionBackupsCopyOptionalParams, LongTermRetentionBackupsCopyResponse, LongTermRetentionBackupsLockTimeBasedImmutabilityOptionalParams, LongTermRetentionBackupsLockTimeBasedImmutabilityResponse, LongTermRetentionBackupsRemoveLegalHoldImmutabilityOptionalParams, LongTermRetentionBackupsRemoveLegalHoldImmutabilityResponse, LongTermRetentionBackupsRemoveTimeBasedImmutabilityOptionalParams, LongTermRetentionBackupsRemoveTimeBasedImmutabilityResponse, LongTermRetentionBackupsSetLegalHoldImmutabilityOptionalParams, LongTermRetentionBackupsSetLegalHoldImmutabilityResponse, UpdateLongTermRetentionBackupParameters, LongTermRetentionBackupsUpdateOptionalParams, LongTermRetentionBackupsUpdateResponse, LongTermRetentionBackupsGetByResourceGroupOptionalParams, LongTermRetentionBackupsGetByResourceGroupResponse, LongTermRetentionBackupsDeleteByResourceGroupOptionalParams, LongTermRetentionBackupsChangeAccessTierByResourceGroupOptionalParams, LongTermRetentionBackupsChangeAccessTierByResourceGroupResponse, LongTermRetentionBackupsCopyByResourceGroupOptionalParams, LongTermRetentionBackupsCopyByResourceGroupResponse, LongTermRetentionBackupsLockTimeBasedImmutabilityByResourceGroupOptionalParams, LongTermRetentionBackupsLockTimeBasedImmutabilityByResourceGroupResponse, LongTermRetentionBackupsRemoveLegalHoldImmutabilityByResourceGroupOptionalParams, LongTermRetentionBackupsRemoveLegalHoldImmutabilityByResourceGroupResponse, LongTermRetentionBackupsRemoveTimeBasedImmutabilityByResourceGroupOptionalParams, LongTermRetentionBackupsRemoveTimeBasedImmutabilityByResourceGroupResponse, LongTermRetentionBackupsSetLegalHoldImmutabilityByResourceGroupOptionalParams, LongTermRetentionBackupsSetLegalHoldImmutabilityByResourceGroupResponse, LongTermRetentionBackupsUpdateByResourceGroupOptionalParams, LongTermRetentionBackupsUpdateByResourceGroupResponse } from "../models/index.js";
/** Class containing LongTermRetentionBackups operations. */
export declare class LongTermRetentionBackupsImpl implements LongTermRetentionBackups {
    private readonly client;
    /**
     * Initialize a new instance of the class LongTermRetentionBackups class.
     * @param client Reference to the service client
     */
    constructor(client: SqlManagementClient);
    /**
     * Lists the long term retention backups for a given location.
     * @param locationName The location of the database
     * @param options The options parameters.
     */
    listByLocation(locationName: string, options?: LongTermRetentionBackupsListByLocationOptionalParams): PagedAsyncIterableIterator<LongTermRetentionBackup>;
    private listByLocationPagingPage;
    private listByLocationPagingAll;
    /**
     * Lists the long term retention backups for a given server.
     * @param locationName The location of the database
     * @param longTermRetentionServerName The name of the server
     * @param options The options parameters.
     */
    listByServer(locationName: string, longTermRetentionServerName: string, options?: LongTermRetentionBackupsListByServerOptionalParams): PagedAsyncIterableIterator<LongTermRetentionBackup>;
    private listByServerPagingPage;
    private listByServerPagingAll;
    /**
     * Lists all long term retention backups for a database.
     * @param locationName The location of the database
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param options The options parameters.
     */
    listByDatabase(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, options?: LongTermRetentionBackupsListByDatabaseOptionalParams): PagedAsyncIterableIterator<LongTermRetentionBackup>;
    private listByDatabasePagingPage;
    private listByDatabasePagingAll;
    /**
     * Lists the long term retention backups for a given location based on resource group.
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param locationName The location of the database
     * @param options The options parameters.
     */
    listByResourceGroupLocation(resourceGroupName: string, locationName: string, options?: LongTermRetentionBackupsListByResourceGroupLocationOptionalParams): PagedAsyncIterableIterator<LongTermRetentionBackup>;
    private listByResourceGroupLocationPagingPage;
    private listByResourceGroupLocationPagingAll;
    /**
     * Lists the long term retention backups for a given server based on resource groups.
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param locationName The location of the database
     * @param longTermRetentionServerName The name of the server
     * @param options The options parameters.
     */
    listByResourceGroupServer(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, options?: LongTermRetentionBackupsListByResourceGroupServerOptionalParams): PagedAsyncIterableIterator<LongTermRetentionBackup>;
    private listByResourceGroupServerPagingPage;
    private listByResourceGroupServerPagingAll;
    /**
     * Lists all long term retention backups for a database based on a particular resource group.
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param locationName The location of the database
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param options The options parameters.
     */
    listByResourceGroupDatabase(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, options?: LongTermRetentionBackupsListByResourceGroupDatabaseOptionalParams): PagedAsyncIterableIterator<LongTermRetentionBackup>;
    private listByResourceGroupDatabasePagingPage;
    private listByResourceGroupDatabasePagingAll;
    /**
     * Lists the long term retention backups for a given location.
     * @param locationName The location of the database
     * @param options The options parameters.
     */
    private _listByLocation;
    /**
     * Lists the long term retention backups for a given server.
     * @param locationName The location of the database
     * @param longTermRetentionServerName The name of the server
     * @param options The options parameters.
     */
    private _listByServer;
    /**
     * Lists all long term retention backups for a database.
     * @param locationName The location of the database
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param options The options parameters.
     */
    private _listByDatabase;
    /**
     * Gets a long term retention backup.
     * @param locationName The location of the database.
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    get(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsGetOptionalParams): Promise<LongTermRetentionBackupsGetResponse>;
    /**
     * Deletes a long term retention backup.
     * @param locationName The location of the database
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    beginDelete(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    /**
     * Deletes a long term retention backup.
     * @param locationName The location of the database
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    beginDeleteAndWait(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsDeleteOptionalParams): Promise<void>;
    /**
     * Change a long term retention backup access tier.
     * @param locationName
     * @param longTermRetentionServerName
     * @param longTermRetentionDatabaseName
     * @param backupName
     * @param parameters Contains the information necessary to change long term retention backup access
     *                   tier and related operation mode.
     * @param options The options parameters.
     */
    beginChangeAccessTier(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: ChangeLongTermRetentionBackupAccessTierParameters, options?: LongTermRetentionBackupsChangeAccessTierOptionalParams): Promise<SimplePollerLike<OperationState<LongTermRetentionBackupsChangeAccessTierResponse>, LongTermRetentionBackupsChangeAccessTierResponse>>;
    /**
     * Change a long term retention backup access tier.
     * @param locationName
     * @param longTermRetentionServerName
     * @param longTermRetentionDatabaseName
     * @param backupName
     * @param parameters Contains the information necessary to change long term retention backup access
     *                   tier and related operation mode.
     * @param options The options parameters.
     */
    beginChangeAccessTierAndWait(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: ChangeLongTermRetentionBackupAccessTierParameters, options?: LongTermRetentionBackupsChangeAccessTierOptionalParams): Promise<LongTermRetentionBackupsChangeAccessTierResponse>;
    /**
     * Copy an existing long term retention backup.
     * @param locationName The location of the database.
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param parameters The parameters needed for long term retention copy request
     * @param options The options parameters.
     */
    beginCopy(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: CopyLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsCopyOptionalParams): Promise<SimplePollerLike<OperationState<LongTermRetentionBackupsCopyResponse>, LongTermRetentionBackupsCopyResponse>>;
    /**
     * Copy an existing long term retention backup.
     * @param locationName The location of the database.
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param parameters The parameters needed for long term retention copy request
     * @param options The options parameters.
     */
    beginCopyAndWait(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: CopyLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsCopyOptionalParams): Promise<LongTermRetentionBackupsCopyResponse>;
    /**
     * Lock time based immutability of an existing long term retention backup.
     * @param locationName
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    beginLockTimeBasedImmutability(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsLockTimeBasedImmutabilityOptionalParams): Promise<SimplePollerLike<OperationState<LongTermRetentionBackupsLockTimeBasedImmutabilityResponse>, LongTermRetentionBackupsLockTimeBasedImmutabilityResponse>>;
    /**
     * Lock time based immutability of an existing long term retention backup.
     * @param locationName
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    beginLockTimeBasedImmutabilityAndWait(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsLockTimeBasedImmutabilityOptionalParams): Promise<LongTermRetentionBackupsLockTimeBasedImmutabilityResponse>;
    /**
     * Remove legal hold immutability of an existing long term retention backup.
     * @param locationName
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    beginRemoveLegalHoldImmutability(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsRemoveLegalHoldImmutabilityOptionalParams): Promise<SimplePollerLike<OperationState<LongTermRetentionBackupsRemoveLegalHoldImmutabilityResponse>, LongTermRetentionBackupsRemoveLegalHoldImmutabilityResponse>>;
    /**
     * Remove legal hold immutability of an existing long term retention backup.
     * @param locationName
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    beginRemoveLegalHoldImmutabilityAndWait(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsRemoveLegalHoldImmutabilityOptionalParams): Promise<LongTermRetentionBackupsRemoveLegalHoldImmutabilityResponse>;
    /**
     * Remove time based immutability of an existing long term retention backup.
     * @param locationName
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    beginRemoveTimeBasedImmutability(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsRemoveTimeBasedImmutabilityOptionalParams): Promise<SimplePollerLike<OperationState<LongTermRetentionBackupsRemoveTimeBasedImmutabilityResponse>, LongTermRetentionBackupsRemoveTimeBasedImmutabilityResponse>>;
    /**
     * Remove time based immutability of an existing long term retention backup.
     * @param locationName
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    beginRemoveTimeBasedImmutabilityAndWait(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsRemoveTimeBasedImmutabilityOptionalParams): Promise<LongTermRetentionBackupsRemoveTimeBasedImmutabilityResponse>;
    /**
     * Set legal hold immutability of an existing long term retention backup.
     * @param locationName
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    beginSetLegalHoldImmutability(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsSetLegalHoldImmutabilityOptionalParams): Promise<SimplePollerLike<OperationState<LongTermRetentionBackupsSetLegalHoldImmutabilityResponse>, LongTermRetentionBackupsSetLegalHoldImmutabilityResponse>>;
    /**
     * Set legal hold immutability of an existing long term retention backup.
     * @param locationName
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    beginSetLegalHoldImmutabilityAndWait(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsSetLegalHoldImmutabilityOptionalParams): Promise<LongTermRetentionBackupsSetLegalHoldImmutabilityResponse>;
    /**
     * Updates an existing long term retention backup.
     * @param locationName The location of the database.
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param parameters The requested backup resource state
     * @param options The options parameters.
     */
    beginUpdate(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: UpdateLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsUpdateOptionalParams): Promise<SimplePollerLike<OperationState<LongTermRetentionBackupsUpdateResponse>, LongTermRetentionBackupsUpdateResponse>>;
    /**
     * Updates an existing long term retention backup.
     * @param locationName The location of the database.
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param parameters The requested backup resource state
     * @param options The options parameters.
     */
    beginUpdateAndWait(locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: UpdateLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsUpdateOptionalParams): Promise<LongTermRetentionBackupsUpdateResponse>;
    /**
     * Lists the long term retention backups for a given location based on resource group.
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param locationName The location of the database
     * @param options The options parameters.
     */
    private _listByResourceGroupLocation;
    /**
     * Lists the long term retention backups for a given server based on resource groups.
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param locationName The location of the database
     * @param longTermRetentionServerName The name of the server
     * @param options The options parameters.
     */
    private _listByResourceGroupServer;
    /**
     * Lists all long term retention backups for a database based on a particular resource group.
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param locationName The location of the database
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param options The options parameters.
     */
    private _listByResourceGroupDatabase;
    /**
     * Gets a long term retention backup.
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param locationName The location of the database.
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    getByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsGetByResourceGroupOptionalParams): Promise<LongTermRetentionBackupsGetByResourceGroupResponse>;
    /**
     * Deletes a long term retention backup.
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param locationName The location of the database
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    beginDeleteByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsDeleteByResourceGroupOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
    /**
     * Deletes a long term retention backup.
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param locationName The location of the database
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    beginDeleteByResourceGroupAndWait(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsDeleteByResourceGroupOptionalParams): Promise<void>;
    /**
     * Change a long term retention backup access tier.
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param locationName
     * @param longTermRetentionServerName
     * @param longTermRetentionDatabaseName
     * @param backupName
     * @param parameters Contains the information necessary to change long term retention backup access
     *                   tier and related operation mode.
     * @param options The options parameters.
     */
    beginChangeAccessTierByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: ChangeLongTermRetentionBackupAccessTierParameters, options?: LongTermRetentionBackupsChangeAccessTierByResourceGroupOptionalParams): Promise<SimplePollerLike<OperationState<LongTermRetentionBackupsChangeAccessTierByResourceGroupResponse>, LongTermRetentionBackupsChangeAccessTierByResourceGroupResponse>>;
    /**
     * Change a long term retention backup access tier.
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param locationName
     * @param longTermRetentionServerName
     * @param longTermRetentionDatabaseName
     * @param backupName
     * @param parameters Contains the information necessary to change long term retention backup access
     *                   tier and related operation mode.
     * @param options The options parameters.
     */
    beginChangeAccessTierByResourceGroupAndWait(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: ChangeLongTermRetentionBackupAccessTierParameters, options?: LongTermRetentionBackupsChangeAccessTierByResourceGroupOptionalParams): Promise<LongTermRetentionBackupsChangeAccessTierByResourceGroupResponse>;
    /**
     * Copy an existing long term retention backup to a different server.
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param locationName The location of the database.
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param parameters The parameters needed for long term retention copy request
     * @param options The options parameters.
     */
    beginCopyByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: CopyLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsCopyByResourceGroupOptionalParams): Promise<SimplePollerLike<OperationState<LongTermRetentionBackupsCopyByResourceGroupResponse>, LongTermRetentionBackupsCopyByResourceGroupResponse>>;
    /**
     * Copy an existing long term retention backup to a different server.
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param locationName The location of the database.
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param parameters The parameters needed for long term retention copy request
     * @param options The options parameters.
     */
    beginCopyByResourceGroupAndWait(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: CopyLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsCopyByResourceGroupOptionalParams): Promise<LongTermRetentionBackupsCopyByResourceGroupResponse>;
    /**
     * Lock time based immutability of an existing long term retention backup.
     * @param resourceGroupName The resource group name of the database.
     * @param locationName
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    beginLockTimeBasedImmutabilityByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsLockTimeBasedImmutabilityByResourceGroupOptionalParams): Promise<SimplePollerLike<OperationState<LongTermRetentionBackupsLockTimeBasedImmutabilityByResourceGroupResponse>, LongTermRetentionBackupsLockTimeBasedImmutabilityByResourceGroupResponse>>;
    /**
     * Lock time based immutability of an existing long term retention backup.
     * @param resourceGroupName The resource group name of the database.
     * @param locationName
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    beginLockTimeBasedImmutabilityByResourceGroupAndWait(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsLockTimeBasedImmutabilityByResourceGroupOptionalParams): Promise<LongTermRetentionBackupsLockTimeBasedImmutabilityByResourceGroupResponse>;
    /**
     * Remove legal hold immutability of an existing long term retention backup.
     * @param resourceGroupName The resource group name of the database.
     * @param locationName
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    beginRemoveLegalHoldImmutabilityByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsRemoveLegalHoldImmutabilityByResourceGroupOptionalParams): Promise<SimplePollerLike<OperationState<LongTermRetentionBackupsRemoveLegalHoldImmutabilityByResourceGroupResponse>, LongTermRetentionBackupsRemoveLegalHoldImmutabilityByResourceGroupResponse>>;
    /**
     * Remove legal hold immutability of an existing long term retention backup.
     * @param resourceGroupName The resource group name of the database.
     * @param locationName
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    beginRemoveLegalHoldImmutabilityByResourceGroupAndWait(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsRemoveLegalHoldImmutabilityByResourceGroupOptionalParams): Promise<LongTermRetentionBackupsRemoveLegalHoldImmutabilityByResourceGroupResponse>;
    /**
     * Remove time based immutability of an existing long term retention backup.
     * @param resourceGroupName The resource group name of the database.
     * @param locationName
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    beginRemoveTimeBasedImmutabilityByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsRemoveTimeBasedImmutabilityByResourceGroupOptionalParams): Promise<SimplePollerLike<OperationState<LongTermRetentionBackupsRemoveTimeBasedImmutabilityByResourceGroupResponse>, LongTermRetentionBackupsRemoveTimeBasedImmutabilityByResourceGroupResponse>>;
    /**
     * Remove time based immutability of an existing long term retention backup.
     * @param resourceGroupName The resource group name of the database.
     * @param locationName
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    beginRemoveTimeBasedImmutabilityByResourceGroupAndWait(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsRemoveTimeBasedImmutabilityByResourceGroupOptionalParams): Promise<LongTermRetentionBackupsRemoveTimeBasedImmutabilityByResourceGroupResponse>;
    /**
     * Set legal hold immutability of an existing long term retention backup.
     * @param resourceGroupName The resource group name of the database.
     * @param locationName
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    beginSetLegalHoldImmutabilityByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsSetLegalHoldImmutabilityByResourceGroupOptionalParams): Promise<SimplePollerLike<OperationState<LongTermRetentionBackupsSetLegalHoldImmutabilityByResourceGroupResponse>, LongTermRetentionBackupsSetLegalHoldImmutabilityByResourceGroupResponse>>;
    /**
     * Set legal hold immutability of an existing long term retention backup.
     * @param resourceGroupName The resource group name of the database.
     * @param locationName
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param options The options parameters.
     */
    beginSetLegalHoldImmutabilityByResourceGroupAndWait(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, options?: LongTermRetentionBackupsSetLegalHoldImmutabilityByResourceGroupOptionalParams): Promise<LongTermRetentionBackupsSetLegalHoldImmutabilityByResourceGroupResponse>;
    /**
     * Updates an existing long term retention backup.
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param locationName The location of the database.
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param parameters The requested backup resource state
     * @param options The options parameters.
     */
    beginUpdateByResourceGroup(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: UpdateLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsUpdateByResourceGroupOptionalParams): Promise<SimplePollerLike<OperationState<LongTermRetentionBackupsUpdateByResourceGroupResponse>, LongTermRetentionBackupsUpdateByResourceGroupResponse>>;
    /**
     * Updates an existing long term retention backup.
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param locationName The location of the database.
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param backupName The backup name.
     * @param parameters The requested backup resource state
     * @param options The options parameters.
     */
    beginUpdateByResourceGroupAndWait(resourceGroupName: string, locationName: string, longTermRetentionServerName: string, longTermRetentionDatabaseName: string, backupName: string, parameters: UpdateLongTermRetentionBackupParameters, options?: LongTermRetentionBackupsUpdateByResourceGroupOptionalParams): Promise<LongTermRetentionBackupsUpdateByResourceGroupResponse>;
    /**
     * ListByLocationNext
     * @param locationName The location of the database
     * @param nextLink The nextLink from the previous successful call to the ListByLocation method.
     * @param options The options parameters.
     */
    private _listByLocationNext;
    /**
     * ListByServerNext
     * @param locationName The location of the database
     * @param longTermRetentionServerName The name of the server
     * @param nextLink The nextLink from the previous successful call to the ListByServer method.
     * @param options The options parameters.
     */
    private _listByServerNext;
    /**
     * ListByDatabaseNext
     * @param locationName The location of the database
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param nextLink The nextLink from the previous successful call to the ListByDatabase method.
     * @param options The options parameters.
     */
    private _listByDatabaseNext;
    /**
     * ListByResourceGroupLocationNext
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param locationName The location of the database
     * @param nextLink The nextLink from the previous successful call to the ListByResourceGroupLocation
     *                 method.
     * @param options The options parameters.
     */
    private _listByResourceGroupLocationNext;
    /**
     * ListByResourceGroupServerNext
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param locationName The location of the database
     * @param longTermRetentionServerName The name of the server
     * @param nextLink The nextLink from the previous successful call to the ListByResourceGroupServer
     *                 method.
     * @param options The options parameters.
     */
    private _listByResourceGroupServerNext;
    /**
     * ListByResourceGroupDatabaseNext
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param locationName The location of the database
     * @param longTermRetentionServerName The name of the server
     * @param longTermRetentionDatabaseName The name of the database
     * @param nextLink The nextLink from the previous successful call to the ListByResourceGroupDatabase
     *                 method.
     * @param options The options parameters.
     */
    private _listByResourceGroupDatabaseNext;
}
//# sourceMappingURL=longTermRetentionBackups.d.ts.map