import * as msRest from "@azure/ms-rest-js";
import * as Models from "../models";
import { AutomationClientContext } from "../automationClientContext";
/** Class representing a AutomationAccountOperations. */
export declare class AutomationAccountOperations {
    private readonly client;
    /**
     * Create a AutomationAccountOperations.
     * @param {AutomationClientContext} client Reference to the service client.
     */
    constructor(client: AutomationClientContext);
    /**
     * Update an automation account.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param parameters Parameters supplied to the update automation account.
     * @param [options] The optional parameters
     * @returns Promise<Models.AutomationAccountUpdateResponse>
     */
    update(resourceGroupName: string, automationAccountName: string, parameters: Models.AutomationAccountUpdateParameters, options?: msRest.RequestOptionsBase): Promise<Models.AutomationAccountUpdateResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param parameters Parameters supplied to the update automation account.
     * @param callback The callback
     */
    update(resourceGroupName: string, automationAccountName: string, parameters: Models.AutomationAccountUpdateParameters, callback: msRest.ServiceCallback<Models.AutomationAccount>): void;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param parameters Parameters supplied to the update automation account.
     * @param options The optional parameters
     * @param callback The callback
     */
    update(resourceGroupName: string, automationAccountName: string, parameters: Models.AutomationAccountUpdateParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.AutomationAccount>): void;
    /**
     * Create or update automation account.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param parameters Parameters supplied to the create or update automation account.
     * @param [options] The optional parameters
     * @returns Promise<Models.AutomationAccountCreateOrUpdateResponse>
     */
    createOrUpdate(resourceGroupName: string, automationAccountName: string, parameters: Models.AutomationAccountCreateOrUpdateParameters, options?: msRest.RequestOptionsBase): Promise<Models.AutomationAccountCreateOrUpdateResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param parameters Parameters supplied to the create or update automation account.
     * @param callback The callback
     */
    createOrUpdate(resourceGroupName: string, automationAccountName: string, parameters: Models.AutomationAccountCreateOrUpdateParameters, callback: msRest.ServiceCallback<Models.AutomationAccount>): void;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param parameters Parameters supplied to the create or update automation account.
     * @param options The optional parameters
     * @param callback The callback
     */
    createOrUpdate(resourceGroupName: string, automationAccountName: string, parameters: Models.AutomationAccountCreateOrUpdateParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.AutomationAccount>): void;
    /**
     * Delete an automation account.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param [options] The optional parameters
     * @returns Promise<msRest.RestResponse>
     */
    deleteMethod(resourceGroupName: string, automationAccountName: string, options?: msRest.RequestOptionsBase): Promise<msRest.RestResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param callback The callback
     */
    deleteMethod(resourceGroupName: string, automationAccountName: string, callback: msRest.ServiceCallback<void>): 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
     */
    deleteMethod(resourceGroupName: string, automationAccountName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<void>): void;
    /**
     * Get information about an Automation 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.AutomationAccountGetResponse>
     */
    get(resourceGroupName: string, automationAccountName: string, options?: msRest.RequestOptionsBase): Promise<Models.AutomationAccountGetResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param callback The callback
     */
    get(resourceGroupName: string, automationAccountName: string, callback: msRest.ServiceCallback<Models.AutomationAccount>): 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
     */
    get(resourceGroupName: string, automationAccountName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.AutomationAccount>): void;
    /**
     * Retrieve a list of accounts within a given resource group.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param [options] The optional parameters
     * @returns Promise<Models.AutomationAccountListByResourceGroupResponse>
     */
    listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise<Models.AutomationAccountListByResourceGroupResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param callback The callback
     */
    listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback<Models.AutomationAccountListResult>): void;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param options The optional parameters
     * @param callback The callback
     */
    listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.AutomationAccountListResult>): void;
    /**
     * Retrieve a list of accounts within a given subscription.
     * @summary Lists the Automation Accounts within an Azure subscription.
     * @param [options] The optional parameters
     * @returns Promise<Models.AutomationAccountListResponse>
     */
    list(options?: msRest.RequestOptionsBase): Promise<Models.AutomationAccountListResponse>;
    /**
     * @param callback The callback
     */
    list(callback: msRest.ServiceCallback<Models.AutomationAccountListResult>): void;
    /**
     * @param options The optional parameters
     * @param callback The callback
     */
    list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.AutomationAccountListResult>): void;
    /**
     * Retrieve a list of accounts within a given resource group.
     * @param nextPageLink The NextLink from the previous successful call to List operation.
     * @param [options] The optional parameters
     * @returns Promise<Models.AutomationAccountListByResourceGroupNextResponse>
     */
    listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise<Models.AutomationAccountListByResourceGroupNextResponse>;
    /**
     * @param nextPageLink The NextLink from the previous successful call to List operation.
     * @param callback The callback
     */
    listByResourceGroupNext(nextPageLink: string, callback: msRest.ServiceCallback<Models.AutomationAccountListResult>): void;
    /**
     * @param nextPageLink The NextLink from the previous successful call to List operation.
     * @param options The optional parameters
     * @param callback The callback
     */
    listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.AutomationAccountListResult>): void;
    /**
     * Retrieve a list of accounts within a given subscription.
     * @summary Lists the Automation Accounts within an Azure subscription.
     * @param nextPageLink The NextLink from the previous successful call to List operation.
     * @param [options] The optional parameters
     * @returns Promise<Models.AutomationAccountListNextResponse>
     */
    listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise<Models.AutomationAccountListNextResponse>;
    /**
     * @param nextPageLink The NextLink from the previous successful call to List operation.
     * @param callback The callback
     */
    listNext(nextPageLink: string, callback: msRest.ServiceCallback<Models.AutomationAccountListResult>): void;
    /**
     * @param nextPageLink The NextLink from the previous successful call to List operation.
     * @param options The optional parameters
     * @param callback The callback
     */
    listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.AutomationAccountListResult>): void;
}
//# sourceMappingURL=automationAccountOperations.d.ts.map