/* Options:
Date: 2025-06-09 13:52:54
Version: 8.71
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://team.evovoice.io

//GlobalNamespace: 
//MakePropertiesOptional: False
//AddServiceStackTypes: True
//AddResponseStatus: False
//AddImplicitVersion: 
//AddDescriptionAsComments: True
IncludeTypes: DialNodeCallback.*
//ExcludeTypes: 
//DefaultImports: 
*/



export class NodeParameterMap
{
    [key:string] : NodeParameter;

    public constructor(init?: Partial<NodeParameterMap>) { (Object as any).assign(this, init); }
}


export interface IReturn<T>
{
    createResponse(): T;
}

export class TwilioRequestBase implements IPost
{
    public callSid: string;
    public accountSid: string;
    public from: string;
    public to: string;
    public callStatus: string;
    public apiVersion: string;
    public direction: string;
    public forwardedFrom: string;
    public callerName: string;
    public parentCallSid: string;
    public stirVerstat: string;
    public called: string;
    public calledZip: string;
    public calledCity: string;
    public calledState: string;
    public calledCountry: string;
    public caller: string;
    public callerCity: string;
    public callerState: string;
    public callerZip: string;
    public callerCountry: string;
    public fromCity: string;
    public fromState: string;
    public fromZip: string;
    public fromCountry: string;
    public toCity: string;
    public toState: string;
    public toZip: string;
    public toCountry: string;
    public messageSid: string;
    public smsId: string;
    public messagingServiceSid: string;
    public body: string;
    public numMedia: number;
    public mediaContentType0: string;
    public mediaUrl0: string;
    public mediaContentType1: string;
    public mediaUrl1: string;
    public mediaContentType2: string;
    public mediaUrl2: string;
    public index: number;
    public instanceSid: string;
    public eventType: string;
    public channelSid: string;
    public attributes: string;
    public clientIdentity: string;
    public mediaContentType: string;
    public mediaSid: string;
    public identity: string;
    public digits: string;
    public speechResult: string;
    public confidence: number;
    public callDuration: number;
    public recordingUrl: string;
    public recordingSid: string;
    public recordingDuration: number;
    public recordingStatus: string;
    public transcriptionSid: string;
    public transcriptionText: string;
    public transcriptionUrl: string;
    public transcriptionStatus: string;
    public dialCallStatus: string;
    public dialCallSid: string;
    public dialCallDuration: number;
    public dialBridged: boolean;
    public queueResult: string;
    public queueSid: string;
    public queueTime: number;
    public conferenceSid: string;
    public friendlyName: string;
    public statusCallbackEvent: string;
    public muted: boolean;
    public hold: boolean;
    public endConferenceOnExit: boolean;
    public startConferenceOnEnter: boolean;
    public eventName: string;
    public assistantSid: string;
    public dialogueSid: string;
    public userIdentifier: string;
    public currentInput: string;
    public currentTask: string;
    public dialoguePayloadUrl: string;
    public memory: string;
    public channel: string;
    public faxSid: string;
    public faxStatus: string;
    public numPages: number;
    public mediaUrl: string;
    public errorCode: string;
    public errorMessage: string;

    public constructor(init?: Partial<TwilioRequestBase>) { (Object as any).assign(this, init); }
}

// @Route("/nodes/dial/callback")
export class DialNodeCallback extends TwilioRequestBase implements IReturn<string>
{
    public noAnswer: string;
    public hangup: string;
    public sessionId: string;
    public version: number;
    public failed: string;
    public busy: string;
    public usageMetricKey: string;
    public timeoutInSeconds: number;

    public constructor(init?: Partial<DialNodeCallback>) { super(init); (Object as any).assign(this, init); }
    public getTypeName() { return 'DialNodeCallback'; }
    public getMethod() { return 'POST'; }
    public createResponse() { return ''; }
}