import { PagedAsyncIterableIterator } from "@azure/core-paging";
import { PollerLike, PollOperationState } from "@azure/core-lro";
import { Configuration, ConfigurationsListByServerOptionalParams, ConfigurationsUpdateOptionalParams, ConfigurationsUpdateResponse, ConfigurationsGetOptionalParams, ConfigurationsGetResponse, ConfigurationListForBatchUpdate, ConfigurationsBatchUpdateOptionalParams, ConfigurationsBatchUpdateResponse } from "../models";
/** Interface representing a Configurations. */
export interface Configurations {
    /**
     * List all the configurations in a given server.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serverName The name of the server.
     * @param options The options parameters.
     */
    listByServer(resourceGroupName: string, serverName: string, options?: ConfigurationsListByServerOptionalParams): PagedAsyncIterableIterator<Configuration>;
    /**
     * Updates a configuration of a server.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serverName The name of the server.
     * @param configurationName The name of the server configuration.
     * @param parameters The required parameters for updating a server configuration.
     * @param options The options parameters.
     */
    beginUpdate(resourceGroupName: string, serverName: string, configurationName: string, parameters: Configuration, options?: ConfigurationsUpdateOptionalParams): Promise<PollerLike<PollOperationState<ConfigurationsUpdateResponse>, ConfigurationsUpdateResponse>>;
    /**
     * Updates a configuration of a server.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serverName The name of the server.
     * @param configurationName The name of the server configuration.
     * @param parameters The required parameters for updating a server configuration.
     * @param options The options parameters.
     */
    beginUpdateAndWait(resourceGroupName: string, serverName: string, configurationName: string, parameters: Configuration, options?: ConfigurationsUpdateOptionalParams): Promise<ConfigurationsUpdateResponse>;
    /**
     * Gets information about a configuration of server.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serverName The name of the server.
     * @param configurationName The name of the server configuration.
     * @param options The options parameters.
     */
    get(resourceGroupName: string, serverName: string, configurationName: string, options?: ConfigurationsGetOptionalParams): Promise<ConfigurationsGetResponse>;
    /**
     * Update a list of configurations in a given server.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serverName The name of the server.
     * @param parameters The parameters for updating a list of server configuration.
     * @param options The options parameters.
     */
    beginBatchUpdate(resourceGroupName: string, serverName: string, parameters: ConfigurationListForBatchUpdate, options?: ConfigurationsBatchUpdateOptionalParams): Promise<PollerLike<PollOperationState<ConfigurationsBatchUpdateResponse>, ConfigurationsBatchUpdateResponse>>;
    /**
     * Update a list of configurations in a given server.
     * @param resourceGroupName The name of the resource group. The name is case insensitive.
     * @param serverName The name of the server.
     * @param parameters The parameters for updating a list of server configuration.
     * @param options The options parameters.
     */
    beginBatchUpdateAndWait(resourceGroupName: string, serverName: string, parameters: ConfigurationListForBatchUpdate, options?: ConfigurationsBatchUpdateOptionalParams): Promise<ConfigurationsBatchUpdateResponse>;
}
//# sourceMappingURL=configurations.d.ts.map