/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */

import { connectedFieldsTabInfoGetConnectedFieldsTabGroups } from "../funcs/connectedFieldsTabInfoGetConnectedFieldsTabGroups.js";
import { ClientSDK, RequestOptions } from "../lib/sdks.js";
import * as components from "../models/components/index.js";
import * as operations from "../models/operations/index.js";
import { unwrapAsync } from "../types/fp.js";

export class TabInfo extends ClientSDK {
  /**
   * Returns all tabs associated with the given account
   *
   * @remarks
   * Returns all tabs associated with the given account.
   *
   *  **Note**: Unlike the Connected Fields UI, this endpoint returns only fields that are either mandatory or have the **IsRequiredForVerifyingType** <a href="https://concerto.accordproject.org/docs/design/specification/model-decorators/" target="_blank">decorator</a>
   */
  async getConnectedFieldsTabGroups(
    request: operations.ConnectedFieldsApiGetTabGroupsRequest,
    options?: RequestOptions,
  ): Promise<Array<components.TabInfo>> {
    return unwrapAsync(connectedFieldsTabInfoGetConnectedFieldsTabGroups(
      this,
      request,
      options,
    ));
  }
}
