import * as msRest from "@azure/ms-rest-js";
import * as msRestAzure from "@azure/ms-rest-azure-js";
import * as Models from "../models";
import { AutomationClientContext } from "../automationClientContext";
/** Class representing a RunbookOperations. */
export declare class RunbookOperations {
    private readonly client;
    /**
     * Create a RunbookOperations.
     * @param {AutomationClientContext} client Reference to the service client.
     */
    constructor(client: AutomationClientContext);
    /**
     * Publish runbook draft.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param runbookName The parameters supplied to the publish runbook operation.
     * @param [options] The optional parameters
     * @returns Promise<Models.RunbookPublishResponse>
     */
    publish(resourceGroupName: string, automationAccountName: string, runbookName: string, options?: msRest.RequestOptionsBase): Promise<Models.RunbookPublishResponse>;
    /**
     * Retrieve the content of runbook identified by runbook name.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param runbookName The runbook name.
     * @param [options] The optional parameters
     * @returns Promise<Models.RunbookGetContentResponse>
     */
    getContent(resourceGroupName: string, automationAccountName: string, runbookName: string, options?: msRest.RequestOptionsBase): Promise<Models.RunbookGetContentResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param runbookName The runbook name.
     * @param callback The callback
     */
    getContent(resourceGroupName: string, automationAccountName: string, runbookName: string, callback: msRest.ServiceCallback<void>): void;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param runbookName The runbook name.
     * @param options The optional parameters
     * @param callback The callback
     */
    getContent(resourceGroupName: string, automationAccountName: string, runbookName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<void>): void;
    /**
     * Retrieve the runbook identified by runbook name.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param runbookName The runbook name.
     * @param [options] The optional parameters
     * @returns Promise<Models.RunbookGetResponse>
     */
    get(resourceGroupName: string, automationAccountName: string, runbookName: string, options?: msRest.RequestOptionsBase): Promise<Models.RunbookGetResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param runbookName The runbook name.
     * @param callback The callback
     */
    get(resourceGroupName: string, automationAccountName: string, runbookName: string, callback: msRest.ServiceCallback<Models.Runbook>): void;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param runbookName The runbook name.
     * @param options The optional parameters
     * @param callback The callback
     */
    get(resourceGroupName: string, automationAccountName: string, runbookName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.Runbook>): void;
    /**
     * Create the runbook identified by runbook name.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param runbookName The runbook name.
     * @param parameters The create or update parameters for runbook. Provide either content link for a
     * published runbook or draft, not both.
     * @param [options] The optional parameters
     * @returns Promise<Models.RunbookCreateOrUpdateResponse>
     */
    createOrUpdate(resourceGroupName: string, automationAccountName: string, runbookName: string, parameters: Models.RunbookCreateOrUpdateParameters, options?: msRest.RequestOptionsBase): Promise<Models.RunbookCreateOrUpdateResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param runbookName The runbook name.
     * @param parameters The create or update parameters for runbook. Provide either content link for a
     * published runbook or draft, not both.
     * @param callback The callback
     */
    createOrUpdate(resourceGroupName: string, automationAccountName: string, runbookName: string, parameters: Models.RunbookCreateOrUpdateParameters, callback: msRest.ServiceCallback<Models.Runbook>): void;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param runbookName The runbook name.
     * @param parameters The create or update parameters for runbook. Provide either content link for a
     * published runbook or draft, not both.
     * @param options The optional parameters
     * @param callback The callback
     */
    createOrUpdate(resourceGroupName: string, automationAccountName: string, runbookName: string, parameters: Models.RunbookCreateOrUpdateParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.Runbook>): void;
    /**
     * Update the runbook identified by runbook name.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param runbookName The runbook name.
     * @param parameters The update parameters for runbook.
     * @param [options] The optional parameters
     * @returns Promise<Models.RunbookUpdateResponse>
     */
    update(resourceGroupName: string, automationAccountName: string, runbookName: string, parameters: Models.RunbookUpdateParameters, options?: msRest.RequestOptionsBase): Promise<Models.RunbookUpdateResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param runbookName The runbook name.
     * @param parameters The update parameters for runbook.
     * @param callback The callback
     */
    update(resourceGroupName: string, automationAccountName: string, runbookName: string, parameters: Models.RunbookUpdateParameters, callback: msRest.ServiceCallback<Models.Runbook>): void;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param runbookName The runbook name.
     * @param parameters The update parameters for runbook.
     * @param options The optional parameters
     * @param callback The callback
     */
    update(resourceGroupName: string, automationAccountName: string, runbookName: string, parameters: Models.RunbookUpdateParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.Runbook>): void;
    /**
     * Delete the runbook by name.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param runbookName The runbook name.
     * @param [options] The optional parameters
     * @returns Promise<msRest.RestResponse>
     */
    deleteMethod(resourceGroupName: string, automationAccountName: string, runbookName: string, options?: msRest.RequestOptionsBase): Promise<msRest.RestResponse>;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param runbookName The runbook name.
     * @param callback The callback
     */
    deleteMethod(resourceGroupName: string, automationAccountName: string, runbookName: string, callback: msRest.ServiceCallback<void>): void;
    /**
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param runbookName The runbook name.
     * @param options The optional parameters
     * @param callback The callback
     */
    deleteMethod(resourceGroupName: string, automationAccountName: string, runbookName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<void>): void;
    /**
     * Retrieve a list of runbooks.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param [options] The optional parameters
     * @returns Promise<Models.RunbookListByAutomationAccountResponse>
     */
    listByAutomationAccount(resourceGroupName: string, automationAccountName: string, options?: msRest.RequestOptionsBase): Promise<Models.RunbookListByAutomationAccountResponse>;
    /**
     * @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.RunbookListResult>): 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: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.RunbookListResult>): void;
    /**
     * Publish runbook draft.
     * @param resourceGroupName Name of an Azure Resource group.
     * @param automationAccountName The name of the automation account.
     * @param runbookName The parameters supplied to the publish runbook operation.
     * @param [options] The optional parameters
     * @returns Promise<msRestAzure.LROPoller>
     */
    beginPublish(resourceGroupName: string, automationAccountName: string, runbookName: string, options?: msRest.RequestOptionsBase): Promise<msRestAzure.LROPoller>;
    /**
     * Retrieve a list of runbooks.
     * @param nextPageLink The NextLink from the previous successful call to List operation.
     * @param [options] The optional parameters
     * @returns Promise<Models.RunbookListByAutomationAccountNextResponse>
     */
    listByAutomationAccountNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise<Models.RunbookListByAutomationAccountNextResponse>;
    /**
     * @param nextPageLink The NextLink from the previous successful call to List operation.
     * @param callback The callback
     */
    listByAutomationAccountNext(nextPageLink: string, callback: msRest.ServiceCallback<Models.RunbookListResult>): 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.RunbookListResult>): void;
}
//# sourceMappingURL=runbookOperations.d.ts.map