import * as msRest from "@azure/ms-rest-js";
import * as Models from "../models";
import { AutomationClientContext } from "../automationClientContext";
/** Class representing a SoftwareUpdateConfigurations. */
export declare class SoftwareUpdateConfigurations {
    private readonly client;
    /**
     * Create a SoftwareUpdateConfigurations.
     * @param {AutomationClientContext} client Reference to the service client.
     */
    constructor(client: AutomationClientContext);
    /**
     * Create a new software update configuration with the name given in the URI.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param softwareUpdateConfigurationName The name of the software update configuration to be
     * created.
     * @param parameters Request body.
     * @param [options] The optional parameters
     * @returns Promise<Models.SoftwareUpdateConfigurationsCreateResponse>
     */
    create(resourceGroupName: string, automationAccountName: string, softwareUpdateConfigurationName: string, parameters: Models.SoftwareUpdateConfiguration, options?: Models.SoftwareUpdateConfigurationsCreateOptionalParams): Promise<Models.SoftwareUpdateConfigurationsCreateResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param softwareUpdateConfigurationName The name of the software update configuration to be
     * created.
     * @param parameters Request body.
     * @param callback The callback
     */
    create(resourceGroupName: string, automationAccountName: string, softwareUpdateConfigurationName: string, parameters: Models.SoftwareUpdateConfiguration, callback: msRest.ServiceCallback<Models.SoftwareUpdateConfiguration>): void;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param softwareUpdateConfigurationName The name of the software update configuration to be
     * created.
     * @param parameters Request body.
     * @param options The optional parameters
     * @param callback The callback
     */
    create(resourceGroupName: string, automationAccountName: string, softwareUpdateConfigurationName: string, parameters: Models.SoftwareUpdateConfiguration, options: Models.SoftwareUpdateConfigurationsCreateOptionalParams, callback: msRest.ServiceCallback<Models.SoftwareUpdateConfiguration>): void;
    /**
     * Get a single software update configuration by name.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param softwareUpdateConfigurationName The name of the software update configuration to be
     * created.
     * @param [options] The optional parameters
     * @returns Promise<Models.SoftwareUpdateConfigurationsGetByNameResponse>
     */
    getByName(resourceGroupName: string, automationAccountName: string, softwareUpdateConfigurationName: string, options?: Models.SoftwareUpdateConfigurationsGetByNameOptionalParams): Promise<Models.SoftwareUpdateConfigurationsGetByNameResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param softwareUpdateConfigurationName The name of the software update configuration to be
     * created.
     * @param callback The callback
     */
    getByName(resourceGroupName: string, automationAccountName: string, softwareUpdateConfigurationName: string, callback: msRest.ServiceCallback<Models.SoftwareUpdateConfiguration>): void;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param softwareUpdateConfigurationName The name of the software update configuration to be
     * created.
     * @param options The optional parameters
     * @param callback The callback
     */
    getByName(resourceGroupName: string, automationAccountName: string, softwareUpdateConfigurationName: string, options: Models.SoftwareUpdateConfigurationsGetByNameOptionalParams, callback: msRest.ServiceCallback<Models.SoftwareUpdateConfiguration>): void;
    /**
     * delete a specific software update configuration.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param softwareUpdateConfigurationName The name of the software update configuration to be
     * created.
     * @param [options] The optional parameters
     * @returns Promise<msRest.RestResponse>
     */
    deleteMethod(resourceGroupName: string, automationAccountName: string, softwareUpdateConfigurationName: string, options?: Models.SoftwareUpdateConfigurationsDeleteMethodOptionalParams): Promise<msRest.RestResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param softwareUpdateConfigurationName The name of the software update configuration to be
     * created.
     * @param callback The callback
     */
    deleteMethod(resourceGroupName: string, automationAccountName: string, softwareUpdateConfigurationName: string, callback: msRest.ServiceCallback<void>): void;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param softwareUpdateConfigurationName The name of the software update configuration to be
     * created.
     * @param options The optional parameters
     * @param callback The callback
     */
    deleteMethod(resourceGroupName: string, automationAccountName: string, softwareUpdateConfigurationName: string, options: Models.SoftwareUpdateConfigurationsDeleteMethodOptionalParams, callback: msRest.ServiceCallback<void>): void;
    /**
     * Get all software update configurations for the account.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param [options] The optional parameters
     * @returns Promise<Models.SoftwareUpdateConfigurationsListResponse>
     */
    list(resourceGroupName: string, automationAccountName: string, options?: Models.SoftwareUpdateConfigurationsListOptionalParams): Promise<Models.SoftwareUpdateConfigurationsListResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param callback The callback
     */
    list(resourceGroupName: string, automationAccountName: string, callback: msRest.ServiceCallback<Models.SoftwareUpdateConfigurationListResult>): void;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param options The optional parameters
     * @param callback The callback
     */
    list(resourceGroupName: string, automationAccountName: string, options: Models.SoftwareUpdateConfigurationsListOptionalParams, callback: msRest.ServiceCallback<Models.SoftwareUpdateConfigurationListResult>): void;
}
//# sourceMappingURL=softwareUpdateConfigurations.d.ts.map