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

import Domain = require('../base/Domain');
import Twilio = require('./Twilio');
import V1 = require('./oauth/V1');
import { DeviceCodeListInstance } from './oauth/v1/deviceCode';
import { OauthListInstance } from './oauth/v1/oauth';
import { OpenidDiscoveryListInstance } from './oauth/v1/openidDiscovery';
import { TokenListInstance } from './oauth/v1/token';
import { UserInfoListInstance } from './oauth/v1/userInfo';


declare class Oauth extends Domain {
  /**
   * Initialize oauth domain
   *
   * @param twilio - The twilio client
   */
  constructor(twilio: Twilio);

  readonly deviceCode: DeviceCodeListInstance;
  readonly oauth: OauthListInstance;
  readonly openidDiscovery: OpenidDiscoveryListInstance;
  readonly token: TokenListInstance;
  readonly userInfo: UserInfoListInstance;
  readonly v1: V1;
}

export = Oauth;
