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

import Page = require('../../../base/Page');
import V1 = require('../V1');
import { BulkCountryUpdateListInstance } from './dialingPermissions/bulkCountryUpdate';
import { CountryListInstance } from './dialingPermissions/country';
import { SettingsListInstance } from './dialingPermissions/settings';

/**
 * Initialize the DialingPermissionsList
 *
 * PLEASE NOTE that this class contains preview products that are subject to
 * change. Use them with caution. If you currently do not have developer preview
 * access, please contact help@twilio.com.
 *
 * @param version - Version of the resource
 */
declare function DialingPermissionsList(version: V1): DialingPermissionsListInstance;

interface DialingPermissionsListInstance {
  bulkCountryUpdates?: BulkCountryUpdateListInstance;
  countries?: CountryListInstance;
  settings?: SettingsListInstance;
  /**
   * Provide a user-friendly representation
   */
  toJSON(): any;
}

interface DialingPermissionsPayload extends DialingPermissionsResource, Page.TwilioResponsePayload {
}

interface DialingPermissionsResource {
}

interface DialingPermissionsSolution {
}

export { DialingPermissionsList, DialingPermissionsListInstance, DialingPermissionsPayload, DialingPermissionsResource, DialingPermissionsSolution }
