import * as msRest from "@azure/ms-rest-js";
import * as Models from "../models";
import { AutomationClientContext } from "../automationClientContext";
/** Class representing a DscNodeOperations. */
export declare class DscNodeOperations {
    private readonly client;
    /**
     * Create a DscNodeOperations.
     * @param {AutomationClientContext} client Reference to the service client.
     */
    constructor(client: AutomationClientContext);
    /**
     * Delete the dsc node identified by node id.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param nodeId The node id.
     * @param [options] The optional parameters
     * @returns Promise<Models.DscNodeDeleteMethodResponse>
     */
    deleteMethod(resourceGroupName: string, automationAccountName: string, nodeId: string, options?: msRest.RequestOptionsBase): Promise<Models.DscNodeDeleteMethodResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param nodeId The node id.
     * @param callback The callback
     */
    deleteMethod(resourceGroupName: string, automationAccountName: string, nodeId: string, callback: msRest.ServiceCallback<Models.DscNode>): void;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param nodeId The node id.
     * @param options The optional parameters
     * @param callback The callback
     */
    deleteMethod(resourceGroupName: string, automationAccountName: string, nodeId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.DscNode>): void;
    /**
     * Retrieve the dsc node identified by node id.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param nodeId The node id.
     * @param [options] The optional parameters
     * @returns Promise<Models.DscNodeGetResponse>
     */
    get(resourceGroupName: string, automationAccountName: string, nodeId: string, options?: msRest.RequestOptionsBase): Promise<Models.DscNodeGetResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param nodeId The node id.
     * @param callback The callback
     */
    get(resourceGroupName: string, automationAccountName: string, nodeId: string, callback: msRest.ServiceCallback<Models.DscNode>): void;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param nodeId The node id.
     * @param options The optional parameters
     * @param callback The callback
     */
    get(resourceGroupName: string, automationAccountName: string, nodeId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.DscNode>): void;
    /**
     * Update the dsc node.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param nodeId Parameters supplied to the update dsc node.
     * @param dscNodeUpdateParameters Parameters supplied to the update dsc node.
     * @param [options] The optional parameters
     * @returns Promise<Models.DscNodeUpdateResponse>
     */
    update(resourceGroupName: string, automationAccountName: string, nodeId: string, dscNodeUpdateParameters: Models.DscNodeUpdateParameters, options?: msRest.RequestOptionsBase): Promise<Models.DscNodeUpdateResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param nodeId Parameters supplied to the update dsc node.
     * @param dscNodeUpdateParameters Parameters supplied to the update dsc node.
     * @param callback The callback
     */
    update(resourceGroupName: string, automationAccountName: string, nodeId: string, dscNodeUpdateParameters: Models.DscNodeUpdateParameters, callback: msRest.ServiceCallback<Models.DscNode>): void;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param nodeId Parameters supplied to the update dsc node.
     * @param dscNodeUpdateParameters Parameters supplied to the update dsc node.
     * @param options The optional parameters
     * @param callback The callback
     */
    update(resourceGroupName: string, automationAccountName: string, nodeId: string, dscNodeUpdateParameters: Models.DscNodeUpdateParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.DscNode>): void;
    /**
     * Retrieve a list of dsc nodes.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param [options] The optional parameters
     * @returns Promise<Models.DscNodeListByAutomationAccountResponse>
     */
    listByAutomationAccount(resourceGroupName: string, automationAccountName: string, options?: Models.DscNodeListByAutomationAccountOptionalParams): Promise<Models.DscNodeListByAutomationAccountResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param callback The callback
     */
    listByAutomationAccount(resourceGroupName: string, automationAccountName: string, callback: msRest.ServiceCallback<Models.DscNodeListResult>): 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
     */
    listByAutomationAccount(resourceGroupName: string, automationAccountName: string, options: Models.DscNodeListByAutomationAccountOptionalParams, callback: msRest.ServiceCallback<Models.DscNodeListResult>): void;
    /**
     * Retrieve a list of dsc nodes.
     * @param nextPageLink The NextLink from the previous successful call to List operation.
     * @param [options] The optional parameters
     * @returns Promise<Models.DscNodeListByAutomationAccountNextResponse>
     */
    listByAutomationAccountNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise<Models.DscNodeListByAutomationAccountNextResponse>;
    /**
     * @param nextPageLink The NextLink from the previous successful call to List operation.
     * @param callback The callback
     */
    listByAutomationAccountNext(nextPageLink: string, callback: msRest.ServiceCallback<Models.DscNodeListResult>): void;
    /**
     * @param nextPageLink The NextLink from the previous successful call to List operation.
     * @param options The optional parameters
     * @param callback The callback
     */
    listByAutomationAccountNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.DscNodeListResult>): void;
}
//# sourceMappingURL=dscNodeOperations.d.ts.map