import { PagedAsyncIterableIterator } from "@azure/core-paging";
import { StartStopManagedInstanceSchedules } from "../operationsInterfaces/index.js";
import { SqlManagementClient } from "../sqlManagementClient.js";
import { StartStopManagedInstanceSchedule, StartStopManagedInstanceSchedulesListByInstanceOptionalParams, StartStopScheduleName, StartStopManagedInstanceSchedulesGetOptionalParams, StartStopManagedInstanceSchedulesGetResponse, StartStopManagedInstanceSchedulesCreateOrUpdateOptionalParams, StartStopManagedInstanceSchedulesCreateOrUpdateResponse, StartStopManagedInstanceSchedulesDeleteOptionalParams } from "../models/index.js";
/** Class containing StartStopManagedInstanceSchedules operations. */
export declare class StartStopManagedInstanceSchedulesImpl implements StartStopManagedInstanceSchedules {
    private readonly client;
    /**
     * Initialize a new instance of the class StartStopManagedInstanceSchedules class.
     * @param client Reference to the service client
     */
    constructor(client: SqlManagementClient);
    /**
     * Lists the managed instance's Start/Stop schedules.
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param managedInstanceName The name of the managed instance.
     * @param options The options parameters.
     */
    listByInstance(resourceGroupName: string, managedInstanceName: string, options?: StartStopManagedInstanceSchedulesListByInstanceOptionalParams): PagedAsyncIterableIterator<StartStopManagedInstanceSchedule>;
    private listByInstancePagingPage;
    private listByInstancePagingAll;
    /**
     * Lists the managed instance's Start/Stop schedules.
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param managedInstanceName The name of the managed instance.
     * @param options The options parameters.
     */
    private _listByInstance;
    /**
     * Gets the managed instance's Start/Stop schedule.
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param managedInstanceName The name of the managed instance.
     * @param startStopScheduleName Name of the managed instance Start/Stop schedule.
     * @param options The options parameters.
     */
    get(resourceGroupName: string, managedInstanceName: string, startStopScheduleName: StartStopScheduleName, options?: StartStopManagedInstanceSchedulesGetOptionalParams): Promise<StartStopManagedInstanceSchedulesGetResponse>;
    /**
     * Creates or updates the managed instance's Start/Stop schedule.
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param managedInstanceName The name of the managed instance.
     * @param startStopScheduleName Name of the managed instance Start/Stop schedule.
     * @param parameters The requested managed instance Start/Stop schedule.
     * @param options The options parameters.
     */
    createOrUpdate(resourceGroupName: string, managedInstanceName: string, startStopScheduleName: StartStopScheduleName, parameters: StartStopManagedInstanceSchedule, options?: StartStopManagedInstanceSchedulesCreateOrUpdateOptionalParams): Promise<StartStopManagedInstanceSchedulesCreateOrUpdateResponse>;
    /**
     * Deletes the managed instance's Start/Stop schedule.
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param managedInstanceName The name of the managed instance.
     * @param startStopScheduleName Name of the managed instance Start/Stop schedule.
     * @param options The options parameters.
     */
    delete(resourceGroupName: string, managedInstanceName: string, startStopScheduleName: StartStopScheduleName, options?: StartStopManagedInstanceSchedulesDeleteOptionalParams): Promise<void>;
    /**
     * ListByInstanceNext
     * @param resourceGroupName The name of the resource group that contains the resource. You can obtain
     *                          this value from the Azure Resource Manager API or the portal.
     * @param managedInstanceName The name of the managed instance.
     * @param nextLink The nextLink from the previous successful call to the ListByInstance method.
     * @param options The options parameters.
     */
    private _listByInstanceNext;
}
//# sourceMappingURL=startStopManagedInstanceSchedules.d.ts.map