/*
 * 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 {
  DataSubjectRightCancelExportRequestOptionalParams,
  DataSubjectRightCancelExportRequestResponse,
  DataSubjectRightExportStatusRequestOptionalParams,
  DataSubjectRightExportStatusRequestResponse,
  DataSubjectRightExportRequestOptionalParams,
  DataSubjectRightExportRequestResponse,
  DataSubjectRightCancelDeleteRequestOptionalParams,
  DataSubjectRightCancelDeleteRequestResponse,
  DataSubjectRightDeleteStatusRequestOptionalParams,
  DataSubjectRightDeleteStatusRequestResponse,
  DataSubjectRightDeleteRequestOptionalParams,
  DataSubjectRightDeleteRequestResponse
} from "../models";

/** Interface representing a DataSubjectRight. */
export interface DataSubjectRight {
  /**
   * test
   * @param token Unique request ID (GUID)
   * @param options The options parameters.
   */
  cancelExportRequest(
    token: string,
    options?: DataSubjectRightCancelExportRequestOptionalParams
  ): Promise<DataSubjectRightCancelExportRequestResponse>;
  /**
   * test
   * @param token Unique request ID (GUID)
   * @param options The options parameters.
   */
  exportStatusRequest(
    token: string,
    options?: DataSubjectRightExportStatusRequestOptionalParams
  ): Promise<DataSubjectRightExportStatusRequestResponse>;
  /**
   * test
   * @param options The options parameters.
   */
  exportRequest(
    options?: DataSubjectRightExportRequestOptionalParams
  ): Promise<DataSubjectRightExportRequestResponse>;
  /**
   * test
   * @param token Unique request ID (GUID)
   * @param email Email used for cancel delete with x-authz-bypass headers
   * @param options The options parameters.
   */
  cancelDeleteRequest(
    token: string,
    email: string,
    options?: DataSubjectRightCancelDeleteRequestOptionalParams
  ): Promise<DataSubjectRightCancelDeleteRequestResponse>;
  /**
   * test
   * @param token Unique request ID (GUID)
   * @param email Email used for delete with x-authz-bypass headers
   * @param options The options parameters.
   */
  deleteStatusRequest(
    token: string,
    email: string,
    options?: DataSubjectRightDeleteStatusRequestOptionalParams
  ): Promise<DataSubjectRightDeleteStatusRequestResponse>;
  /**
   * test
   * @param options The options parameters.
   */
  deleteRequest(
    options?: DataSubjectRightDeleteRequestOptionalParams
  ): Promise<DataSubjectRightDeleteRequestResponse>;
}
