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

import Page = require('../../../../base/Page');
import V2010 = require('../../V2010');
import { RecordListInstance } from './usage/record';
import { TriggerListInstance } from './usage/trigger';

/**
 * Initialize the UsageList
 *
 * @param version - Version of the resource
 * @param accountSid - A 34 character string that uniquely identifies this resource.
 */
declare function UsageList(version: V2010, accountSid: string): UsageListInstance;

interface UsageListInstance {
  records?: RecordListInstance;
  /**
   * Provide a user-friendly representation
   */
  toJSON(): any;
  triggers?: TriggerListInstance;
}

interface UsagePayload extends UsageResource, Page.TwilioResponsePayload {
}

interface UsageResource {
}

interface UsageSolution {
  accountSid?: string;
}

export { UsageList, UsageListInstance, UsagePayload, UsageResource, UsageSolution }
