import * as msRest from "@azure/ms-rest-js";
import * as Models from "../models";
import { AutomationClientContext } from "../automationClientContext";
/** Class representing a WatcherOperations. */
export declare class WatcherOperations {
    private readonly client;
    /**
     * Create a WatcherOperations.
     * @param {AutomationClientContext} client Reference to the service client.
     */
    constructor(client: AutomationClientContext);
    /**
     * Create the watcher identified by watcher name.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param watcherName The watcher name.
     * @param parameters The create or update parameters for watcher.
     * @param [options] The optional parameters
     * @returns Promise<Models.WatcherCreateOrUpdateResponse>
     */
    createOrUpdate(resourceGroupName: string, automationAccountName: string, watcherName: string, parameters: Models.Watcher, options?: msRest.RequestOptionsBase): Promise<Models.WatcherCreateOrUpdateResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param watcherName The watcher name.
     * @param parameters The create or update parameters for watcher.
     * @param callback The callback
     */
    createOrUpdate(resourceGroupName: string, automationAccountName: string, watcherName: string, parameters: Models.Watcher, callback: msRest.ServiceCallback<Models.Watcher>): void;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param watcherName The watcher name.
     * @param parameters The create or update parameters for watcher.
     * @param options The optional parameters
     * @param callback The callback
     */
    createOrUpdate(resourceGroupName: string, automationAccountName: string, watcherName: string, parameters: Models.Watcher, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.Watcher>): void;
    /**
     * Retrieve the watcher identified by watcher name.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param watcherName The watcher name.
     * @param [options] The optional parameters
     * @returns Promise<Models.WatcherGetResponse>
     */
    get(resourceGroupName: string, automationAccountName: string, watcherName: string, options?: msRest.RequestOptionsBase): Promise<Models.WatcherGetResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param watcherName The watcher name.
     * @param callback The callback
     */
    get(resourceGroupName: string, automationAccountName: string, watcherName: string, callback: msRest.ServiceCallback<Models.Watcher>): void;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param watcherName The watcher name.
     * @param options The optional parameters
     * @param callback The callback
     */
    get(resourceGroupName: string, automationAccountName: string, watcherName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.Watcher>): void;
    /**
     * Update the watcher identified by watcher name.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param watcherName The watcher name.
     * @param parameters The update parameters for watcher.
     * @param [options] The optional parameters
     * @returns Promise<Models.WatcherUpdateResponse>
     */
    update(resourceGroupName: string, automationAccountName: string, watcherName: string, parameters: Models.WatcherUpdateParameters, options?: msRest.RequestOptionsBase): Promise<Models.WatcherUpdateResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param watcherName The watcher name.
     * @param parameters The update parameters for watcher.
     * @param callback The callback
     */
    update(resourceGroupName: string, automationAccountName: string, watcherName: string, parameters: Models.WatcherUpdateParameters, callback: msRest.ServiceCallback<Models.Watcher>): void;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param watcherName The watcher name.
     * @param parameters The update parameters for watcher.
     * @param options The optional parameters
     * @param callback The callback
     */
    update(resourceGroupName: string, automationAccountName: string, watcherName: string, parameters: Models.WatcherUpdateParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.Watcher>): void;
    /**
     * Delete the watcher by name.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param watcherName The watcher name.
     * @param [options] The optional parameters
     * @returns Promise<msRest.RestResponse>
     */
    deleteMethod(resourceGroupName: string, automationAccountName: string, watcherName: string, options?: msRest.RequestOptionsBase): Promise<msRest.RestResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param watcherName The watcher name.
     * @param callback The callback
     */
    deleteMethod(resourceGroupName: string, automationAccountName: string, watcherName: string, callback: msRest.ServiceCallback<void>): void;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param watcherName The watcher name.
     * @param options The optional parameters
     * @param callback The callback
     */
    deleteMethod(resourceGroupName: string, automationAccountName: string, watcherName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<void>): void;
    /**
     * Resume the watcher identified by watcher name.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param watcherName The watcher name.
     * @param [options] The optional parameters
     * @returns Promise<msRest.RestResponse>
     */
    start(resourceGroupName: string, automationAccountName: string, watcherName: string, options?: msRest.RequestOptionsBase): Promise<msRest.RestResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param watcherName The watcher name.
     * @param callback The callback
     */
    start(resourceGroupName: string, automationAccountName: string, watcherName: string, callback: msRest.ServiceCallback<void>): void;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param watcherName The watcher name.
     * @param options The optional parameters
     * @param callback The callback
     */
    start(resourceGroupName: string, automationAccountName: string, watcherName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<void>): void;
    /**
     * Resume the watcher identified by watcher name.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param watcherName The watcher name.
     * @param [options] The optional parameters
     * @returns Promise<msRest.RestResponse>
     */
    stop(resourceGroupName: string, automationAccountName: string, watcherName: string, options?: msRest.RequestOptionsBase): Promise<msRest.RestResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param watcherName The watcher name.
     * @param callback The callback
     */
    stop(resourceGroupName: string, automationAccountName: string, watcherName: string, callback: msRest.ServiceCallback<void>): void;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param watcherName The watcher name.
     * @param options The optional parameters
     * @param callback The callback
     */
    stop(resourceGroupName: string, automationAccountName: string, watcherName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<void>): void;
    /**
     * Retrieve a list of watchers.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param [options] The optional parameters
     * @returns Promise<Models.WatcherListByAutomationAccountResponse>
     */
    listByAutomationAccount(resourceGroupName: string, automationAccountName: string, options?: Models.WatcherListByAutomationAccountOptionalParams): Promise<Models.WatcherListByAutomationAccountResponse>;
    /**
     * @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.WatcherListResult>): 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.WatcherListByAutomationAccountOptionalParams, callback: msRest.ServiceCallback<Models.WatcherListResult>): void;
    /**
     * Retrieve a list of watchers.
     * @param nextPageLink The NextLink from the previous successful call to List operation.
     * @param [options] The optional parameters
     * @returns Promise<Models.WatcherListByAutomationAccountNextResponse>
     */
    listByAutomationAccountNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise<Models.WatcherListByAutomationAccountNextResponse>;
    /**
     * @param nextPageLink The NextLink from the previous successful call to List operation.
     * @param callback The callback
     */
    listByAutomationAccountNext(nextPageLink: string, callback: msRest.ServiceCallback<Models.WatcherListResult>): 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.WatcherListResult>): void;
}
//# sourceMappingURL=watcherOperations.d.ts.map