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

import Domain = require('../base/Domain');
import Twilio = require('./Twilio');
import V1 = require('./flexApi/V1');
import { ChannelListInstance } from './flexApi/v1/channel';
import { ConfigurationListInstance } from './flexApi/v1/configuration';
import { FlexFlowListInstance } from './flexApi/v1/flexFlow';
import { InteractionListInstance } from './flexApi/v1/interaction';
import { WebChannelListInstance } from './flexApi/v1/webChannel';


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

  readonly channel: ChannelListInstance;
  readonly configuration: ConfigurationListInstance;
  readonly flexFlow: FlexFlowListInstance;
  readonly interaction: InteractionListInstance;
  readonly v1: V1;
  readonly webChannel: WebChannelListInstance;
}

export = FlexApi;
