export declare enum Type { CCML = 0, Collect = 1, Conference = 2, Debugger = 3, Detect = 4, Dial = 5, ForEach = 6, Function = 7, GoogleAnalytics = 8, Goto = 9, HangUp = 10, If = 11, Label = 12, Pause = 13, Play = 14, Queue = 15, Record = 16, RecordMessage = 17, Redirect = 18, Reject = 19, Say = 20, SessionData = 21, SMS = 22, Stop = 23, Transfer = 24, Var = 25, Webhook = 26, } export interface IAction { id: string; type: Type; params: any; events: any; name: string; comments: string; setParam(name: string, val: string): void; getParam(name: string): string; setEvent(name: string, val: IAction[]): void; getEvent(name: string): IAction[]; toCCML(arg?: any): string; } export interface IActionParams { [index: string]: string; } export interface IActionEvents { [index: string]: IAction[]; } export interface IActionData { id?: string; type: string; params?: any; events?: any; name?: string; comments?: string; actions?: IActionData[]; session_data?: any; condition?: string; then?: any; orElse?: any; } export declare abstract class CoreAction implements IAction { private data; type: Type; params: IActionParams; events: IActionEvents; name: string; comments: string; static genId(prefix?: string): string; constructor(data: IActionData); readonly abstract id: string; setParam(name: string, val: string): void; getParam(name: string): string; setEvent(name: string, val: IAction[]): void; getEvent(name: string): IAction[]; toCCML(paramMap?: any): string; escapeXml(unsafe: string): string; escapeDoubleQuotes(unsafe: string): string; }