/*
 * 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 {
  AppApiTokensDeleteOptionalParams,
  AppApiTokensDeleteResponse,
  AppApiTokensListOptionalParams,
  AppApiTokensListResponse,
  AppApiTokensCreateOptionalParams,
  AppApiTokensCreateResponse
} from "../models";

/** Interface representing a AppApiTokens. */
export interface AppApiTokens {
  /**
   * Delete the App Api Token object with the specific ID
   * @param ownerName The name of the owner
   * @param appName The name of the application
   * @param apiTokenId The unique ID (UUID) of the api token
   * @param options The options parameters.
   */
  delete(
    ownerName: string,
    appName: string,
    apiTokenId: string,
    options?: AppApiTokensDeleteOptionalParams
  ): Promise<AppApiTokensDeleteResponse>;
  /**
   * Returns App API tokens for the app
   * @param ownerName The name of the owner
   * @param appName The name of the application
   * @param options The options parameters.
   */
  list(
    ownerName: string,
    appName: string,
    options?: AppApiTokensListOptionalParams
  ): Promise<AppApiTokensListResponse>;
  /**
   * Creates a new App API token
   * @param ownerName The name of the owner
   * @param appName The name of the application
   * @param options The options parameters.
   */
  create(
    ownerName: string,
    appName: string,
    options?: AppApiTokensCreateOptionalParams
  ): Promise<AppApiTokensCreateResponse>;
}
