/**
 * This code was generated by
 * \ / _    _  _|   _  _
 *  | (_)\/(_)(_|\/| |(/_  v1.0.0
 *       /       /
 */

import Page = require('../../../base/Page');
import V2 = require('../V2');
import { BundleListInstance } from './regulatoryCompliance/bundle';
import { EndUserListInstance } from './regulatoryCompliance/endUser';
import { EndUserTypeListInstance } from './regulatoryCompliance/endUserType';
import { RegulationListInstance } from './regulatoryCompliance/regulation';
import { SupportingDocumentListInstance } from './regulatoryCompliance/supportingDocument';
import { SupportingDocumentTypeListInstance } from './regulatoryCompliance/supportingDocumentType';

/**
 * Initialize the RegulatoryComplianceList
 *
 * @param version - Version of the resource
 */
declare function RegulatoryComplianceList(version: V2): RegulatoryComplianceListInstance;

interface RegulatoryComplianceListInstance {
  bundles?: BundleListInstance;
  endUserTypes?: EndUserTypeListInstance;
  endUsers?: EndUserListInstance;
  regulations?: RegulationListInstance;
  supportingDocumentTypes?: SupportingDocumentTypeListInstance;
  supportingDocuments?: SupportingDocumentListInstance;
  /**
   * Provide a user-friendly representation
   */
  toJSON(): any;
}

interface RegulatoryCompliancePayload extends RegulatoryComplianceResource, Page.TwilioResponsePayload {
}

interface RegulatoryComplianceResource {
}

interface RegulatoryComplianceSolution {
}

export { RegulatoryComplianceList, RegulatoryComplianceListInstance, RegulatoryCompliancePayload, RegulatoryComplianceResource, RegulatoryComplianceSolution }
