/*
 * Copyright (c) Microsoft Corporation.
 * Licensed under the MIT License.
 *
 * Code generated by Microsoft (R) AutoRest Code Generator.
 * Changes may cause incorrect behavior and will be lost if the code is regenerated.
 */

import {
  LegacyCodePushAcquisitionUpdateCheckOptionalParams,
  LegacyCodePushAcquisitionUpdateCheckResponse,
  PathsPkpkpaV01LegacyReportstatusDownloadPostRequestbodyContentApplicationJsonSchema,
  LegacyCodePushAcquisitionUpdateDownloadStatusOptionalParams,
  PathsIy9KlqV01LegacyReportstatusDeployPostRequestbodyContentApplicationJsonSchema,
  LegacyCodePushAcquisitionUpdateInstallsStatusOptionalParams
} from "../models";

/** Interface representing a LegacyCodePushAcquisition. */
export interface LegacyCodePushAcquisition {
  /**
   * Check for updates
   * @param options The options parameters.
   */
  updateCheck(
    options?: LegacyCodePushAcquisitionUpdateCheckOptionalParams
  ): Promise<LegacyCodePushAcquisitionUpdateCheckResponse>;
  /**
   * Report download of specified release
   * @param releaseMetadata Deployment status metric properties
   * @param options The options parameters.
   */
  updateDownloadStatus(
    releaseMetadata: PathsPkpkpaV01LegacyReportstatusDownloadPostRequestbodyContentApplicationJsonSchema,
    options?: LegacyCodePushAcquisitionUpdateDownloadStatusOptionalParams
  ): Promise<void>;
  /**
   * Report deploy of specified release
   * @param releaseMetadata Deployment status metric properties
   * @param options The options parameters.
   */
  updateInstallsStatus(
    releaseMetadata: PathsIy9KlqV01LegacyReportstatusDeployPostRequestbodyContentApplicationJsonSchema,
    options?: LegacyCodePushAcquisitionUpdateInstallsStatusOptionalParams
  ): Promise<void>;
}
